方法一
docker commit
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的指定端口