如何在Linux VM中从Windows构建Linux容器?



我设置了一个运行Fedora 31的VM,并在上面安装了docker。公开所有必要的端口,然后在 Debian WSL 运行时中安装 docker 客户端应用程序。导出了必要的 env var,到目前为止一切似乎都很好,如果我发出:

docker run --rm python:3.8-slim python -V

明白了:

蟒蛇 3.8.3

但是,当我尝试构建一个"真正的"项目时,否则在完全Linux环境下可以完美地构建,我得到了很多这样的缺点:

Installing dependencies from Pipfile.lock (df8922)…
Failed to load paths: /bin/sh: 1: /root/.local/share/virtualenvs/app-4PlAip0Q/bin/python: not found
Output:
Failed to load paths: /bin/sh: 1: /root/.local/share/virtualenvs/app-4PlAip0Q/bin/python: not found
Output:
Failed to load paths: /bin/sh: 1: /root/.local/share/virtualenvs/app-4PlAip0Q/bin/python: not found
Output:
Ignoring atomicwrites: markers 'sys_platform == "win32"' don't match your environment
Ignoring colorama: markers 'sys_platform == "win32"' don't match your environment
Ignoring pypiwin32: markers 'sys_platform == "win32" and python_version >= "3.6"' don't match your environment

最终以这样的事情失败:

[pipenv.exceptions.InstallError]: ERROR: No matching distribution found for pywin32==227 (from -r /tmp/pipenv-4jkbeenf-requirements/pipenv-jlzeswcc-requirement.txt (line 1))
ERROR: Couldn't install package: pywin32
Package installation failed...

显然,它尝试安装 deps,就好像它在 Windows 中运行一样,但是我如何告诉守护程序假设它在 linux(如 VM(中运行?

目标是将此python映像用作PyCharm中的远程虚拟环境。

听起来你想在 Linux vm 上运行 docker,但你安装了适用于 Windows 的 docker 桌面。 我认为如果你想在 linux vm 上做 docker,你需要 linux OS 的 docker 引擎。

如果要在 Windows 上 docker并运行 linux,请在 Windows OS 上安装 docker for Windows 桌面,并将 docker 桌面模式切换到 wsl 模式。

最新更新