方法一
docker commit <</span>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 <containerPort>
将指定的容器端口映射到宿主机所有地址的一个随机端口
2、-p <hostPort>:<containerPort>
将容器端口映射到指定的主机端口
3、-p <ip>::<containerPort>
将容器端口映射到主机指定ip的随机端口
4、-p <ip>:<hostPort>:<containerPort>
将容器端口映射到指定主机ip的指定端口
西部数码的容器云是通过docker技术,在集群服务器上部署容器服务实现,安全可靠,拥有上万Linux镜像,功能强大、轻量灵活,可轻松作集群服务,自由轻松搭建私有网络。
高性价比的容器云产品链接 https://www.west.cn/paas/container/