docker修改容器端口映射

大家都知道 docker run -p 时可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改端口了。简单粗暴点的方法是把现在的容器给 rm 掉然后再通过image生成一个, 如果每次遗漏都用这种方式那就很尴尬了,尤其到了生成环境也是不允许的。那在这给大家分享一种通过修改容器配置文件 hostconfig.json config.v2.json 来实现的方法。


操作步骤如下:

1. 找到被修改容器的 CONTAINER ID

docker ps -a

2. 先停掉所有容器

docker stop `docker ps -aq`

3. 再停掉docker服务

systemctl stop docker 或 service docker stop

4. 修改文件 hostconfig.json , 如果 config.v2.json 文件中也记录了端口那也要修改 (此处应用docker默认安装目录举例)。

vim /var/lib/docker/containers/[CONTAINER-ID]/hostconfig.json

# 修改PortBindings下的端口映射, 22是容器端口号,2201是宿主机端口号, 下面标红处是新添加的。

    "PortBindings":{"22/tcp":[{"HostIp":"","HostPort":"2201"}],"7180/tcp":[{"HostIp":"","HostPort":"7201"}]},

 

vim /var/lib/docker/containers/[CONTAINER-ID]/config.v2.json  

# 修改ExposedPorts下的端口, 22是容器端口号, 下面标红处是新添加的。

   "ExposedPorts":{"22/tcp":{},"7180/tcp":{}},

 

5. 启动docker服务

systemctl start docker 或 service docker start

6. 启动容器测试端口。

 

补充: 

运行docker容器时指定的参数大部分都能在 hostconfig.json 和 config.v2.json 两个文件中修改, 前提是先停止docker服务。

 


原文地址: https://blog.csdn.net/DelevinData/article/details/102401148

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值