0x00 前言
在创建容器时,只有自己本地使用,端口映射127.0.0.1
后面有同事也需要用这个,想要修改正在运行的容器的端口映射
0x01 修改端口映射
1. 确定修改容器的CONTAINER ID
1 2 3 |
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a3ee16c438a0 mysql:5.7.13 "docker-entrypoint..." 3 days ago Up 40 hours 127.0.0.1:6606->3306/tcp open_source_mysqldb |
2. 进入目录
1 2 3 4 |
# docker inspect a3ee16c | grep Id "Id": "a3ee16c438a01e7d0bfc0acf923e5c2d9ab5d68043145c7d8db782455e74147d", # cd /var/lib/docker/containers/a3ee16c438a01e7d0bfc0acf923e5c2d9ab5d68043145c7d8db782455e74147d |
3. 停止docker引擎服务
1
|
|
4. 修改 hostconfig.json 和 config.v2.json
- 修改hostconfig.json
找到PortBindings,修改HostIp为 0.0.0.01 2 3 4 5 6 7 8
"PortBindings": { "3306/tcp": [ { "HostIp": "0.0.0.0", // 修改127.0.0.1为0.0.0.0 "HostPort": "6606" } ] }
- 修改config.v2.json
找到 ExposedPorts 和 Ports 对应项,修改Ports的HostIp为0.0.0.01 2 3 4 5 6 7 8
"Ports": { "3306/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "6606" } ] },
5. 保存之后,启动docker服务,启动相应容器
1 2 |
systemctl start docker docker start open_source_mysqldb |
结果
1 2 3 |
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a3ee16c438a0 mysql:5.7.13 "docker-entrypoint..." 3 days ago Up 13 seconds 0.0.0.0:6606->3306/tcp open_source_mysqldb |
发布者:常山赵子龙,转载请注明出处:https://www.qztxs.com/archives/science/technology/11710