修改运行中的docker容器的端口映射(简单、高效)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在docker run创建并运行容器的时候,可以通过-p指定端口映射规则。但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改。当docker start运行容器后并没有提供一个-p选项或设置,让你修改指定端口映射规则。
优缺点:这个方法的优点是没有副作用,操作简单。缺点是需要重启整个docker服务,如果在同一个宿主机上运行着多个容器服务的话,就会影响其他容器服务。
提示:以下是本篇文章正文内容,下面案例可供参考
通过这个方式处理的,亲测有效。前提需要停止docker。1分钟
查看已经存在容器id
#查看容器id docker ps -a
此时需要记住要修改的容器id前几位即可
关闭docker服务,修改配置文件
#关闭docker服务 systemctl stop docker
关闭之后,找到容器的配置文件路径,通常都是安装在这个路径下方
cd /var/lib/docker/containers
ls 查看可以对应上
如果找不到安装的docker位置,可以通过find全局查找
find / -name docker
进入需要修改容器的id目录中,查看内容
[root@localhost f59526....]# ls checkpoints config.v2.json f595262...bc-json.log hostconfig.json hostname hosts mounts resolv.conf
修改容器中的 hostconfig.json 文件
vim hostconfig.json
修改该端口映射关系,增删改查
#json格式展示 "PortBindings": { "22/tcp": [ ], "80/tcp": [ { "HostIp": "", "HostPort": "9980" } ] }
完成后,退出保存
按下 ESC ---> :wq
结束,启动容器
#启动容器 systemctl start docker
下一篇:
你们都是怎么学 Python 的?