为已启动的docker容器添加端口映射
目录
警告
本文最后更新于 2024-04-30,文中内容可能已过时。
1 修改容器的配置文件
1.1 找到数据目录
找到要添加端口映射容器的配置文件,比如我这里给已经启动的 postgres 添加端口映射
docker inspect 容器ID |grep Id
docker inspect postgresql |grep Id
然后进入容器数据目录
cd /data/docker/containers/ff157b7cdf5d335704a9790f8eec2cf31aeb1705dc8d327ace7cf0a8037b3c95
/data/docker
为 docker 的数据目录
ff157b7cdf5d335704a9790f8eec2cf31aeb1705dc8d327ace7cf0a8037b3c95
即上面获取到的container id
停止 docker 服务
systemctl stop docker
备份配置文件,这里主要修改config.v2.json
和hostconfig.json
文件,备份这两个就可以。
1.2 修改配置文件
这里Docker容器暴露的端口已经存在了,所以不用修改config.v2.json
如果要添加其他没有暴露的端口,比如端口22,修改ExposedPorts
"ExposedPorts": {
"5432/tcp": {},
"22/tcp": {}
},
修改hostconfig.json
中PortBindings
"PortBindings": {
"5432/tcp": [
{
"HostIp": "",
"HostPort": "5432"
}
]
},
修改完成后启动 docker 服务
systemctl start docker