当前位置: 首页 > 知识库问答 >
问题:

Docker build命令挂起在WSL2 Ubuntu 18.04中

鞠建安
2023-03-14

我有Windows10Professional2004Build19041.329。

我有最新的Docker桌面窗口,并选择Ubuntu 18.04 LTS作为我的WSL发行版。

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

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

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

我在WSL 1中没有这个问题,我不知道如何诊断可能的错误,以及为什么WSL 2中的速度如此缓慢。


共有1个答案

贺季
2023-03-14

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

您可以通过发出cd命令来访问bash中的Linux文件系统,以访问您的Linux主文件夹。我大部分工作都是这样做的,而且速度非常快。从这里开始,只需使用git在LinuxFS上克隆您的repo,一切都将快速运行。

或者,使用powershell将您的回购克隆到C:/Users/home/git/myproject中,您会发现系统也响应良好,但您不再使用Linux。我目前正在做一个需要使用windows可执行文件的项目,我被迫这样做,并且发现它也很快。

 类似资料:
  • 我是PHP和phpseclib实现的新SSH。 我有以下代码: 我在这里试图完成的是将用户在远程服务器上选择的文件复制到同一服务器上的新目录。在执行脚本时,它成功地找到第一个文件并将其复制到新目录,但之后脚本就停止了。即使用户只选择了一个项目,脚本也会挂起并且不会继续。它甚至不增加 对可能发生的事情有什么想法吗? 更新: 实时NET_SSH2日志 我还直接在服务器上运行了这个命令,它工作得非常好。

  • 是的,我知道你可能会抱怨说这是件坏事,但我还是想做! 我正在创建一个批处理程序,最后,我需要它挂起,不接受用户输入。我知道一种方法就是创建一个无限循环: 但是我不认为这是一个很好的选择。虽然我需要它挂起来,但我需要能够通过窗口顶部的红色“X”关闭按钮关闭。 有什么想法吗?

  • 我们正在AWS上托管Cassandra 2.0.2群集。我们最近开始通过引导新节点和停用旧节点,从普通驱动器升级到SSD驱动器。除了两个节点永远处于退役状态外,进展相当顺利。现在,在新的6个节点运行后,我们注意到一些使用phpcassa的旧工具停止工作。安全组没有任何变化,所有端口TCP/UDP都是打开的,telnet可以通过9160连接,cqlsh可以“使用”群集,选择数据,但是,“描述群集”失

  • 我下面有一张我Mac的照片。 K8S集群(在VirtualBox,1*Master,2*Workers上) OS Ubuntu 15.04 K8S版本1.1.1 当我试图创建一个pod“busybox.yaml”时,它进入挂起状态。我该如何解决?

  • 我试图在一个网站上使用gettext,为此我遵循O'Reilly媒体教程。在第一页的末尾,它说我需要使用命令,但是我的命令行返回以下内容:我在XAMPP上运行我的网站,所以我的整个目录是这样的: 我有考试。php在gettext文件夹中,以及消息。采购订单位于文件夹中。即使我尝试使用poedit,它也不起作用。这是我的测验。php代码: 我不确定bindtextdomain函数中的字符串是否正确。

  • 命令是否在的命令行中工作? 第一步: C:\Users\Rezaul 步骤2: C:\Users\Rezaul http://localhost:8000