docker容器修改端口映射

方法1

该方法需重启docker服务,所以不适用服务器上存在多个容器的环境。

# 1:停止docker容器
  docker stop `docker ps -aq`
# 2:停止docker服务
  systemctl stop docker
# 3:修改容器的hostconfig.json
  1:cd /var/lib/docker/containers/容器id
  2:vim hostconfig.json
  3:找到要修改的端口,这里我需要修改的对应关系是容器的80映射给宿主机的18080
     "PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"18080"}]} # 前面的端口代表容器端口,后面的端口代表宿主机端口
  4:保存并退出
# 4:启动docker服务
  systemctl start docker
# 5:启动docker容器
  docker start `docker ps -aq`

方法2

# 1:获取容器ip(container_name修改为实际容器名称)
  docker inspect `container_name` | grep IPAddress
# 2:iptable转发端口,将宿主机的18080端口映射到容器的80端口
  iptables -t nat -A  DOCKER -p tcp --dport 18080-j DNAT --to-destination 172.17.0.2:80
posted @ 2020-07-01 10:09  Erosions  阅读(2070)  评论(0编辑  收藏  举报