docker给运行中的容器添加映射端口的几种方法
系列文章
- docker常用操作
- docker给运行中的容器添加映射端口的几种方法
- docker安装hadoop
- docker常用操作
给运行中的容器添加映射端口
docker 可以给运行给的容器添加映射端口
方法1网传不行但实测可用,方法2和3亲测可用
方法1
获得容器IP
将 container_name 换成实际环境中的容器名
1 | docker inspect <container_name> | grep IPAddress |
- iptable转发端口
将容器的 8000 端口映射到docker主机的 8001 端口
1 | iptables -t nat -A DOCKER -p tcp --dport 8001 -j DNAT --to-destination 172.17.0.19:8000 |
方法2
- 提交一个运行中的容器为镜像
1 | docker commit -a "<container_name>" -m "<a new image>" web aaa:v1 |
- 运行镜像并添加端口
1 | docker run -it --name web_demo -p 8000:80 aaa:v1 /bin/bash |
方法3
这个方法要先停掉容器,还需重启docker引擎,正式环境慎用
- 首先stop容器,在宿主机编辑
hostconfig.json
添加映射,容器端口8082映射到宿主8888
1 | "PortBindings": { |
- 重启docker引擎
systemctl restart docker.service
3.启动容器
docker start [容器名]
4.查看容器端口映射
docker port 容器名