hostconfig.json 在哪里(Docker 桌面 + WSL2 环境)
Posted
技术标签:
【中文标题】hostconfig.json 在哪里(Docker 桌面 + WSL2 环境)【英文标题】:where is hostconfig.json (Docker desktop + WSL2 environment) 【发布时间】:2021-04-09 06:25:59 【问题描述】:据我所知,docker 不支持任何在制作容器后更改端口映射的命令。 但是这个答案说通过更改hostconfig.json文件,我可以更改端口映射。
How do I assign a port mapping to an existing Docker container? 我在 windows + WSL2 中使用 docker 桌面。所以 hostconfig.json 的路径与其他答案不同。 hostconfig.json 在哪里? 在我的情况下, (\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data, /var/lib/docker(in wsl)) 目录不存在。
【问题讨论】:
删除和重新创建容器应该是非常常规的做法,这比尝试修改 Docker 内部结构更好。 @DavidMaze 那么你的意思是把容器制作成镜像并使用那个镜像,当我需要新端口时制作新容器?你能解释一下为什么它更好吗?修改docker内部配置可能有问题? 【参考方案1】:可以访问的地方
容器的hostconfig.json
可以在 WSL2 中使用 Windows 资源管理器在隐藏的网络路径 \\wsl$\docker-desktop-data\version-pack-data\community\docker\containers\containerid\hostconfig.json
中找到
Windows Explorer Screenshot with hostconfig.json
它不是(但可能是预期的)
/mnt/wsl/docker-desktop-data/version-pack-data
的子目录没有暴露给 WSL(出于某种原因):
deno@DeonJ-T570:/mnt/wsl/docker-desktop-data/version-pack-data$ sudo ls -al
[sudo] password for deno:
total 0
drwxr-xr-x 2 root root 40 May 25 12:09 .
drwxr-xr-x 6 root root 120 May 25 12:09 ..
deno@DeonJ-T570:/mnt/wsl/docker-desktop-data/version-pack-data$
【讨论】:
你说得对,所有文件都可以在目录下找到。但它总是重建,我的修改都丢失了。以上是关于hostconfig.json 在哪里(Docker 桌面 + WSL2 环境)的主要内容,如果未能解决你的问题,请参考以下文章