0


docker为已启动的容器添加端口映射

Docker已运行容器添加端口映射

针对已运行的容器添加端口映射

1、查看容器是否映射端口

docker port [容器id 或 容器名]

有端口映射:

在这里插入图片描述

无端口映射:

在这里插入图片描述

2、查看容器完整Id

docker inspect [容器id] | grep Id
// 得到以下结果
//    "Id": "fcae55f5180a79487662de426863565c7df05ed9b87854093b62776734928d25",

3、进入docker容器目录查看

cd  /var/lib/docker/containers/var/lib/docker/containers

在这里插入图片描述

4、根据得到的容器完整id进入目录

cd fcae55f5180a79487662de426863565c7df05ed9b87854093b62776734928d25

目录中分别有两个文件:

hostconfig.json

config.v2.json

,直接查看文件内容比较混乱可以下载到本机,使用json工具查看。

5、修改配置文件

hostconfig.json

// 当前容器 3306 端口绑定到本机 3306 端口"PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3306"}]},

config.v2.json

// 这个文件需要查看两个位置// 暴露 3306、33060 端口"ExposedPorts":{"3306/tcp":{},"33060/tcp":{}},// 和 // 这一段应该是表示哪些ip可以访问之类的// 如下也是我从一个 docker run -d -p80:80 ... 带有端口映射的容器的 config.v2.json 文件中复制出来修改后的"Ports":{"3306/tcp":[{"HostIp":"0.0.0.0","HostPort":"3306"},{"HostIp":"::","HostPort":"3306"}],"33060/tcp":null},

6、替换配置文件

  1. 停止容器docker stop [容器Id 或 容器名]
  2. 将修改过后的配置文件复制到指定目录下 /var/lib/docker/containers/完整容器Id,(怕修改错误可以先备份原有的文件)
  3. 重启dockersystemctl restart docker
  4. 重启后可以先查看 hostconfig.jsonconfig.v2.json 两个配置文件是否是修改过后的,如果不是可以尝试多上传几次(我就是这样的)
  5. 最后再查看端口号是否有映射docker port [容器id 或 容器名称]
标签: docker 容器 运维

本文转载自: https://blog.csdn.net/weixin_58959834/article/details/131113312
版权归原作者 饭瘾犯了 所有, 如有侵权,请联系我们删除。

“docker为已启动的容器添加端口映射”的评论:

还没有评论