方法一

docker commit <containerid>

docker run -p containerid

通过以上命令创建新的镜像文件,run -p参数开放新端口出来;实际使用上不方便。

方法二

宿主机(host)上修改iptables 规则,开放容器的响应端口;参考网上的命令

iptables -t nat -A DOCKER -p tcp -dport 8080 -j DNAT --to-destination 172.17.0.2:8080

当我们创建nginx镜像时,并且启动nginx时,我们只能在容器内部区访问nginx的网址。所以为了容器之外能访问,需要暴露端口,也就需要了将容器内部的端口映射出去。

docker容器暴露端口的形式有四种:

1、-p

将指定的容器端口映射到宿主机所有地址的一个随机端口

2、-p :

将容器端口映射到指定的主机端口

3、-p ::

将容器端口映射到主机指定ip的随机端口

4、-p ::

将容器端口映射到指定主机ip的指定端口

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐