
docker 修改端口映射

前言
在 docker 启动某个容器时候,可以使用
-p xxxx:yyyy
flag 来指定宿主机和容器内的端口映射。其中,xxxx 是宿主机端口,yyyy 是容器内端口。有时会出现需要修改已经启动的容器的端口映射规则的情况。经查阅,大体有三种方法:
- 修改 docker 配置文件
- 根据该容器创建行的镜像及容器
- 修改 iptables 端口映射
修改端口映射
修改 docker 配置文件
- 该方法需要重启整个 docker 服务。
- 查看需要修改的容器 id:
1 | docker ps -a |
- 关闭 docker 服务:
1 | docker stop <container-id> |
- 修改
/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 | systemctl start docker |
新建容器
- 提交一个运行中的容器作为镜像:
1 | docker commit <container-id> <image-name> |
- 运行新建的镜像并建立新的端口映射:
1 | docker run -d -p 8091:8080 <image-name> |
修改 iptables 端口映射
- 略。
- Title: docker 修改端口映射
- Author: Last
- Created at : 2023-08-20 12:25:26
- Link: https://blog.imlast.top/2023/08/20/docker-修改端口映射/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments
0/500
No comment
Twikoo Management Panel
Password