LMLPHP后院

Docker 容器启动后修改端口映射技术

maybe yes 发表于 2021-09-12 18:23

Docker 容器启动后,如何增加端口映射!

没有想到这样一个操作这么麻烦,不知道有没有简单点的。

首先一定要暂停容器 docker stop id,最好是连 docker 也一起暂停 service docker stop。

修改第一个文件:/var/lib/docker/containers/{id}/hostconfig.json
"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"40080"}]} // 修改 PortBindings


修改第二个文件:/var/lib/docker/containers/{id}/config.v2.json
"ExposedPorts":{"80/tcp":{}}, // 加在 "Tty":true 的前面
"80/tcp":[{"HostIp":"0.0.0.0","HostPort":"40080"},{"HostIp":"::","HostPort":"40080"}] // "SandboxKey" 前面的 "Ports":{} 里面添加,若 "Ports":null 将 null 改成 {}

修改完了之后,重启 docker,然后 docker ps 就可以看到生效了,然后启动容器就好了。

端口映射容器内部端口对应宿主机外部端口是一对多的关系。所以 Json 配置里面是有数组的,数组就是宿主机的配置

2021-11-28 05:17:53 1638047873 0.014342