docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker修改容器映射端口

Docker如何修改容器已经映射的端口

作者:灵壹Eli

在项目中我们一般通过命令启动一个容器的时候,通常会通过命令指定容器与物理机网络端口的映射,这篇文章主要给大家介绍了关于Docker如何修改容器已经映射的端口的相关资料,需要的朋友可以参考下

Docker启动容器后,需要新增或者修改端口映射

修改配置文件更改端口

关闭容器

需要先关闭Docker,否则配置不生效

systemctl stop docker

查看容器挂载目录

 docker inspect 容器ID

修改配置

修改hostconfig.json 文件

"PortBindings":{
    "80/tcp":[
        {
            "HostIp":"",
            "HostPort":"80"
        }
    ],
    "8088/tcp":[
        {
            "HostIp":"",
            "HostPort":"8088"
        }
    ]
}

修改config.v2.json文件

"ExposedPorts":{
   "80/tcp":{

   },
   "8088/tcp":{

   }
}

并不需要修改Ports,只有在你没有stop容器时,Ports才会有值,如果关闭了容器,就是空数据

重启Docker以及容器

systemctl start docker
docker start nginx

根据现有容器生成新镜像文件

停止nignx容器

docker stop 你的nginx容器id或者名称

docker stop nginx

根据现在的nginx容器重新生成一个镜像文件(数据不会丢失)

docker commit nginx(你的nginx容器id或者名称) 新的容器名称:tag

docker commit nginx nginx2:6.6

启动新的nginx容器

docker run -d -p 80:80 -p xx端口:xx端口 --name 容器名称 新的nginx容器镜像id/名称

docker run -d -p 80:80 -p 3000:3000 --name nginx a89fs25e901e5

使用数据映射方式

docker run -d -p 80:80 -p 3000:3000 --name nginx -v /usr/local/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /usr/local/project/:/usr/local/project/ a89fs25e901e5

移除旧的nginx容器

确保第三步的新容器成功运行再删除旧容器,docker rm 旧容器名称

docker rm nginx

总结 

到此这篇关于Docker如何修改容器已经映射的端口的文章就介绍到这了,更多相关Docker修改容器映射端口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文