Docker 端口映射 修改已运行的docker容器的端口映射

创建容器时忘了添加端口映射了,又不想重新生成镜像。我自己找到了以下的方法

一、找到需要修改的配置文件

执行命令

docker ps -a

查看你的容器的id

根据id找到以下路径(id带入进去)

/var/lib/docker/containers/{{CONTAINER ID}}

我们需要修改两个文件

  1. hostconfig.json
  2. config.v2.json

二、停止docker(不是停止容器)

通过systemctl stop docker或者 service docker stop停止docker

三、修改hostconfig.json文件

vim hostconfig.json

找到PortBindings字段
添加或者修改为:

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

这里的意思是80端口映射到8080
Esc退出wq保存

四、修改config.v2.json文件

文件

vim config.v2.json

在Config下找到ExposedPorts字段

 "Config": {
       ...
        "ExposedPorts": {
            "80/tcp": {}
        }
       ...
    }

如果没有则添加
如果有则修改

 "Config": {
       ...
        "ExposedPorts": {
            "80/tcp": {"HostIp": "",
			"HostPort": "8080"}
        }
       ...
    }

五、重启docker服务,配置就生效了

使用

systemctl start docker

重启docker,使用docker ps就可以查看到了映射
PS:
我这里是先停止了容器再执行以上所有操作,最后再重启(docker start)容器,操作就成功了
但是资料显示不停止也没影响,如果要是执行了操作没作用,可以先把容器停止了~~

记录一下,防止以后还要用到,现在挺多资料好杂 ヾ(≧▽≦*)oヾ(≧▽≦*)oヾ(≧▽≦*)o

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值