docker修改运行中容器端口映射

当时起了一个gitlab容器,跑了一段时间后,想要改下端口映射关系。本来停了原来的容器,然后使用新端口重新创建一个容器就可以了,但容器的启动命令里有-v挂载磁盘操作,而我已经忘了当时挂载的是哪个磁盘了,因此想要直接修改容器的端口。网上搜索到的方法如下:

(推荐)修改容器配置文件,重启docker daemon

  1. 停止docker daemon

  2. 修改配置文件: vim /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json,修改PortBindings中的值。

PortBindings":
{"80/tcp":[
 {"HostIp":"","HostPort":"8080"}
]
}
  1. 修改config.v2.json文件。(如果容器已经停止了,就不存在该文件,可以不改)

  2. 启动docker daemon,启动容器。

看了下,其实容器挂载的磁盘也可以直接查看hostconfig.json文件找到。。。

docker commit新构建镜像

docker commit container_id new_image:tag

停止原来容器,然后新容器

docker run --name container02 -p 3306:3306 new_image:tag

你可能感兴趣的:(docker修改运行中容器端口映射)