追加Docker容器“端口映射”的最新方法

相信大家都知道:docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改。通常间接的办法是:保存镜像,再创建一个新的容器,在创建时指定新的端口映射。但这样太麻烦了,现在有新方案来解决掉这个问题,具体操作如下:

 

1、查看容器

docker ps -a

docker ps -a

 

2、停止容器

docker stop f503

 

3、停止docker服务

systemctl stop docker

 

4、修改文件

vim /var/lib/docker/containers/{container_id}/hostconfig.json

找到这个"PortBindings"的值,在这个json集合里边追加新端口:


"PortBindings": {
     "80/tcp": [
         {
             "HostIp": "",
             "HostPort": "80"
         }
     ],
     "8888/tcp": [
         {
             "HostIp": "",
             "HostPort": "8888"
         } 
     ]
 }

 

5、启动docker服务

systemctl start docker

 

6、启动容器

docker start f503

 

特别注意: 第4步修改文件要注意,如果config.v2.json里面也记录了端口,也要修改config.v2.json文件里边。

修改值 : config->ExposedPorts 和 networsettings->Ports , 参考下图:

"Config": {
    ....
    "ExposedPorts": {
        "80/tcp": {},
        "8888/tcp": {}
    },
    ....
},
"NetworkSettings": {
....
"Ports": {
     "80/tcp": [
         {
             "HostIp": "",
             "HostPort": "80"
         }
     ],

config-ExposedPorts

 

networsettings-Ports

    A+
发布日期:2018年12月21日 19:58:19  所属分类:Docker
最后更新时间:2018-12-21 19:58:19
头像
  • ¥ 598.0元
  • 市场价:2980.0元
  • ¥ 99.0元
  • 市场价:159.0元
  • ¥ 99.9元
  • 市场价:299元
  • ¥ 99.0元
  • 市场价:129.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: