首页 > 解决方案 > Docker 构建命令在 WSL 2 Ubuntu 18.04 中挂起

问题描述

我有 Windows 10 专业版 2004 版本 19041.329。

我有最新的 Docker Desktop for windows,并选择了 Ubuntu 18.04 LTS 作为我的 WSL 发行版。

我已经设置了所有正确的设置以在 Docker Desktop 中启用 WSL 2,并且能够docker info毫无问题地运行命令。

但是,当我尝试docker build -t mytestimage:1.0 .通过 Ubuntu 终端运行时,需要几分钟,然后将构建上下文发送到 docker 守护进程,但这样做非常缓慢。

如果我从 Windows 命令提示符运行相同的命令,它会运行得非常快

我在 WSL 1 中没有这个问题,并且不确定如何诊断可能出现的问题以及为什么在 WSL 2 中这如此缓慢。

标签: dockerubuntu-18.04windows-subsystem-for-linux

解决方案


我遇到过这个问题。这与 WSL 和 windows 共享文件系统的方式有关。我发现的最佳解决方案是在使用 Linux 文件系统时使用 bash 容器,在使用 Windows 文件系统时使用 powershell 提示符。当您在 Windows 文件系统上使用 bash 会话时,速度非常慢。尝试使用 powershell 访问 Linux 文件系统时会出现同样的问题(尽管这要困难得多)。

您可以通过发出cd命令访问 Linux 主文件夹来访问 bash 中的 Linux 文件系统。我的大部分工作都是以这种方式完成的,而且速度非常快。从那里只需使用 git 在 Linux fs 上克隆你的 repo,一切都会快速运行。

或者,使用 powershell 将您的 repo 克隆到C:/Users/home/git/myproject其中,您会发现系统也是响应式的,但您不再使用 Linux。我目前正在开发一个需要使用 Windows 可执行文件的项目,我被迫以这种方式使用它,并且发现它也很快。


推荐阅读