在wsl模式和cmd模式下运行docker命令有什么区别吗?

ikh*_*vjs 2 docker windows-subsystem-for-linux

我在 Windows 11 和 Docker Desktop 中安装wsl并运行wsl2(使用 Ubuntu)来使用 docker。

我很好奇运行是否有什么区别,docker command例如docker build在 cmd 或 wsl 模式下运行?

wsl 模式意味着:我wsl在 cmd 中运行任何内容之前输入。

希望我的问题很清楚。

Álv*_*lez 5

如果您已经在 Ubuntu 中安装了本机 Docker 软件包(例如使用apt),那么 Docker 在 Windows 主机中不可用,因此您甚至无法从那里运行命令。

如果您已经在 Windows 上安装了 Docker Desktop(推荐设置),那么您就可以有效地在两个操作系统之间进行集成,因此使用哪个环境并不重要。事实上,Linux 二进制文件是捆绑包提供的包装器:

$ ls -al $(which docker)
lrwxrwxrwx 1 root root 48 Aug 23 10:40 /usr/bin/docker -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker
Run Code Online (Sandbox Code Playgroud)

  • 都是相同的命令,具有相同的图像、卷、网络...重要的是您使用什么文件系统来托管文件:一般来说,它需要位于 WSL2 Linux 文件系统中;如果您使用 Windows 文件系统,您将会遇到错误和性能问题。 (2认同)