修改Docker容器映射端口

今天在服务器上安装ASF的时候,出现内网使用127.0.0.1:1242能够正常访问使用外网ip却不行,最终发现是我之前创建容器的时候映射的1242端口是指定的ipv4ipv6的回环地址,其实直接使用-p 1242:1242就可以直接映射所有ip端口,我偏偏去指定了ip,简直是自己给自己挖坑。

修改映射端口

切换到该路径/var/lib/docker/containers
该路径下的文件名是docker镜像的hash值,可以通过docker ps或者docker inspect containername查看
通过CONTAINER ID和开头对应可以看出来
打开你要修改容器对应的目录下的hostconfig.json文件。
修改之前先暂停docker,不然修改之后重启服务会被还原的。

systemctl stop docker

PortBindings 这个对象下就是我之前设置的端口映射信息了
结构是PortBindings->容器端口->宿主机ip + 端口信息
"PortBindings": {
"1242/tcp": [{
"HostIp": "127.0.0.1",
"HostPort": "1242"
}, {
"HostIp": "::1",
"HostPort": "1242"
}]
}

我还是保留之前指定ip的形式,添加了一个服务器外网ip就好了

修改好之后需要重启整个docker服务

systemctl restart docker

文章源页面:https://www.nnnuo.com/archives/272.html

你可能感兴趣的:(修改Docker容器映射端口)