前言
- 修改 docker 配置文件
- 根据该容器创建行的镜像及容器
- 修改 iptables 端口映射
修改端口映射
修改 docker 配置文件
- 查看需要修改的容器 id:
- 关闭 docker 服务:
1 2
| docker stop <container-id> systemctl stop docker
|
- 修改
/var/lib/docker/containers/<container-id>/hostconfig.json
修改 PortBindings
,例如:
1
| "PortBindings":{"8080/tcp":[{"HostIp":"","HostPort":"8091"}]}
|
该配置表明将宿主机的 8091 端口映射到了该容器内的 8080 端口。
- 修改
/var/lib/docker/containers/<container-id>/config.v2.json
修改 ExposedPorts
,例如:
1
| ExposedPorts":{"8080/tcp":{}}
|
该配置表明容器内的 8080 端口对外开放。
- 重启 docker 服务:
1 2
| systemctl start docker docker start <container-id>
|
新建容器
- 提交一个运行中的容器作为镜像:
1
| docker commit <container-id> <image-name>
|
- 运行新建的镜像并建立新的端口映射:
1
| docker run -d -p 8091:8080 <image-name>
|
修改 iptables 端口映射