在已运行的docker中增加映射端口和映射目录

Server 林涛 15017℃ 0评论

如果已经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中增加映射端口和映射目录

喜欢 (0)
发表我的评论
取消评论

表情
(1)个小伙伴在吐槽
  1. 学到了
    匿名2020-02-07 11:31 回复