当时起了一个gitlab容器,跑了一段时间后,想要改下端口映射关系。本来停了原来的容器,然后使用新端口重新创建一个容器就可以了,但容器的启动命令里有-v挂载磁盘操作,而我已经忘了当时挂载的是哪个磁盘了,因此想要直接修改容器的端口。网上搜索到的方法如下:
(推荐)修改容器配置文件,重启docker daemon
停止docker daemon
修改配置文件:
vim /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json
,修改PortBindings中的值。
PortBindings":
{"80/tcp":[
{"HostIp":"","HostPort":"8080"}
]
}
修改config.v2.json文件。(如果容器已经停止了,就不存在该文件,可以不改)
启动docker daemon,启动容器。
看了下,其实容器挂载的磁盘也可以直接查看hostconfig.json文件找到。。。
docker commit新构建镜像
docker commit container_id new_image:tag
停止原来容器,然后新容器
docker run --name container02 -p 3306:3306 new_image:tag