Change docker contianers port mapping by config file for Windows
大约 1 分钟
Abstract
对于一个已经生成的容器而言, 暂时没有通过docker命令对其自身的端口进行映射的操作, 所以要借助修改配置文件来设置端口映射.
Introduction
在进行该操作前, 需要将docker关闭, 否则修改将不生效
在Windows下的docker, 使用的 WSL2(Windows Subsystem for Linux) 来运行docker. 在docker协助下安装完WSL后可以通过访问 \\wsl$
来访问WSL的目录. 这个目录就是WSL的根目录了.
具体的容器目录在: \\wsl$\docker-desktop-data\data\docker\containers
在上述目录中可以看到所有的Containers
选择一个容器, 可以看到有 config.v2.json
和 hostconfig.json
两个配置文件
分别修改两个配置文件, 使容器的9870端口映射到宿主机(Windows)的19870上.
为配置文件 hostconfig.json
修改 PortBingings 参数
"PortBindings": {
"9870/tcp": [
{
"HostIp": "",
"HostPort": "19870"
}
]
}
配置文件 config.v2.json
修改 Config.ExposedPorts, 如果在容器初始化的时候没有指定端口, 该值将不存在, 需要手动添加
"ExposedPorts": {
"9870/tcp": {}
},