Docker 在 Windows 上 Docker 没有安装桌面卷

Docker on Windows without Docker Desktop volume mounting

我的目标是在 Windows (docker.exe) 中使用 docker-cli,但使用 Linux 容器, 没有 安装Docker桌面。我主要是按照这些说明使用 WSL2 安装 Ubuntu 20.04-LTS 并准备 dockerd 在此实例中 运行ning 的所有内容。 (https://dev.to/_nicolas_louis_/how-to-run-docker-on-windows-without-docker-desktop-hik)

我目前使用“-H tcp://127.0.0.1”启动 dockerd,它确实有效,我可以从 运行 容器中提取图像、构建图像等=35=]终端,我的环境包含DOCKER_HOST=tcp://127.0.0.1:2375

在安装 Docker Desktop 时,将卷绑定或安装到本地目录不起作用。

例如尝试 运行 jboss/keycloak 安装 /opt/jboss/keycloak/standalone/data 到某个本地路径给我:

docker: Error response from daemon: invalid mode: /opt/jboss/keycloak/standalone/data

这 - 再次 - 曾经与 Docker 桌面一起工作,所以我认为我的调用没有错误。

任何人都可以帮助我让它工作吗?

您的 docker 守护程序在 WSL 中 运行ning,您只是在 Windows.

上使用 de docker 命令连接到它

这意味着每个 docker 命令实际上是在 WSL 子系统上执行的,并且应该相应地指定路径。

特别是您应该在 WSL 中指定路径,通常您的 C:/ 驱动器安装在 \mnt\c 下的 WSL 中。

我建议尝试使用这些路径修改您的 运行 命令,例如:

docker run -v C:\test\folder:/opt/jboss/keycloak/standalone/data ...

会变成:

docker run -v /mnt/c/test/folder:/opt/jboss/keycloak/standalone/data ...

确保你注意斜杠:在 WSL 中你需要一个正斜杠 (/) 而 windows 并不关心。