赞
踩
在Docker容器已经创建后,需要添加新的端口映射,即对已经存在的Docker容器添加新的端口映射,可以通过以下步骤来添加,即通过修改配置文件的方法。
笔者本文是2022.09 最新安装的Docker的配置文件的路径
\\wsl$\docker-desktop-data\data\docker\containers
将以上路径直接复制到Windows 10 的资源管理器,如果不存在以上路径,则 仅复制 \\wsl$\ 到资源管理器里看看,如果正确安装了Docker Desktop 应该可以看到 docker-desktop-data 与 docker-desktop,如下图所示。
复制 \\wsl$\docker-desktop-data\data\docker\containers 到资源管理器地址栏后如下图所示:
如上图,类似 1df287bf29dbfd53666535adf9ddd922001b4d8aea4d5e353701e5ce7102ab8c 的目录为Docker 容器的ID (container id),点击一个目录进入,则如图所示:
打开后修改其中的 config.v2.json 和 hostconfig.json 。
config.v2.json有两处需要添加,只修改一处,是不行的:
位置1:
"ExposedPorts":{"8081/tcp":{},"8084/tcp":{},"8085/tcp":{},"8090/udp":{}}
位置2:
"Ports":{"8081/tcp":[{"HostIp":"0.0.0.0","HostPort":"8089"}],"8084/tcp":[{"HostIp":"0.0.0.0","HostPort":"1939"}],"8085/tcp":[{"HostIp":"0.0.0.0","HostPort":"1989"}],"8090/udp":[{"HostIp":"0.0.0.0","HostPort":"8090"}],"8090/tcp":[{"HostIp":"0.0.0.0","HostPort":"8082"}]}
hostconfig.json 有一处:
"PortBindings":{"8081/tcp":[{"HostIp":"","HostPort":"8089"}],"8084/tcp":[{"HostIp":"","HostPort":"1939"}],"8085/tcp":[{"HostIp":"","HostPort":"1989"}],"8090/udp":[{"HostIp":"","HostPort":"8090"}],"8090/tcp":[{"HostIp":"0.0.0.0","HostPort":"8082"}]}
重启整个Docker服务,不是只去Docker Desktop重启 Container ,如果仅仅重启了 Docker Container ,已经修改的配置会被还原,在系统右下角,重启整个 Docker 服务,然后再重启 Container 即可正常使用。
点击容器名称
点击 Imspect 即可查看到映射的端口列表
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。