如果已经docker已经运行,但是发现需要新增加一个映射端口,应该如下做:
1 查看容器
docker ps -a

2 停止容器
docker stop f503
3 停止docker服务
systemctl stop docker
4 修改文件
vi /var/lib/docker/containers/{container_id}/hostconfig.json
找到 这个 PortBindings 值。在这个json集合里边追加新端口
"PortBindings": {
"80/tcp": [
{
"HostIp": "",
"HostPort": "80"
}
],
"8888/tcp": [
{
"HostIp": "",
"HostPort": "8888"
}
]
}
注:如果是增加映射目录则要修改hostconfig.json中开头的 “Binds”部分
"Binds": ["/webroot/www/go/goweb:/www/go/src/goweb", "/webroot/www/go/diyikaoshi:/www/go/src/diyikaoshi"],
5 启动docker服务
systemctl start docker
6 启动容器
docker start f503
备注: 第4步修改文件要注意,如果config.v2.json里面也记录了端口,也要修改,
原帖地址 : https://stackoverflow.com/questions/19335444/how-do-i-assign-a-port-mapping-to-an-existing-docker-container
config.v2.json文件里边
修改值 : config->ExposedPorts 和 networsettings->Ports , 参看下图
"Config": {
....
"ExposedPorts": {
"80/tcp": {},
"8888/tcp": {}
},
....
},
"NetworkSettings": {
....
"Ports": {
"80/tcp": [
{
"HostIp": "",
"HostPort": "80"
}
],


如需转载请注明: 转载自26点的博客
本文链接地址: 在已运行的docker中增加映射端口和映射目录
转载请注明:26点的博客 » 在已运行的docker中增加映射端口和映射目录

学到了