Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在docker中运行Webpack dev server比在本地计算机上运行要慢得多_Macos_Docker_Webpack - Fatal编程技术网

Macos 在docker中运行Webpack dev server比在本地计算机上运行要慢得多

Macos 在docker中运行Webpack dev server比在本地计算机上运行要慢得多,macos,docker,webpack,Macos,Docker,Webpack,我将我的大部分开发过程转移到docker中,以确保计算机之间的并行开发环境,这样就不会出现由于版本不匹配等导致的奇怪错误或问题 所有这些都进行得很顺利,除了在docker内部运行webpack dev server时,构建过程要比在本地计算机上运行webpack dev server时慢得多。(比如在docker中3-5分钟,而在本地则是30秒到1分钟)。有没有办法加快速度?这只是docker/webpack通过装入的卷与我硬盘上的许多文件交互的问题吗 如果有必要的话,我的主机系统是一个运行在1

我将我的大部分开发过程转移到docker中,以确保计算机之间的并行开发环境,这样就不会出现由于版本不匹配等导致的奇怪错误或问题

所有这些都进行得很顺利,除了在docker内部运行webpack dev server时,构建过程要比在本地计算机上运行webpack dev server时慢得多。(比如在docker中3-5分钟,而在本地则是30秒到1分钟)。有没有办法加快速度?这只是docker/webpack通过装入的卷与我硬盘上的许多文件交互的问题吗

如果有必要的话,我的主机系统是一个运行在16bg内存的i7上的Mac

我正在运行docker for mac,docker-v返回:docker版本17.12.0-ce,构建c97c6d6


我希望这一切都足够清楚,让我知道如果我可以添加任何信息

对于那些处于类似位置的人,正如马特所建议的那样,问题来自于安装了一个卷。通过使用docker的卷缓存模式,我显著加快了构建速度

该命令如下所示:


docker run-v\local\director:docker\directory:cached dockerImage

除了将cached卷标志添加到docker-compose.yaml文件之外:

version: '3'
services:
  front:
    container_name: my-front-dev
    image: my-front-dev-image
    build:
      context: .
      dockerfile: front/Dockerfile.dev
    ports:
      - 5002:80
    volumes:
      - ./front/:/app/:rw,cached
我还建议您将docker for mac升级到最新版本(升级到2.0.0版对我的mac有显著的性能改进)

最后一项建议是提高docker中mac设置的默认CPU/内存限制:


我建议使用
委托
而不是
缓存
,如文档所示:

缓存的:在这种情况下,主机是权威的。可能会有延误 在主机上的写操作对容器可用之前

委托:容器是权威的。可能会有延迟,直到 容器中的更新将显示在主机上

因此docker compose文件如下所示:

version: '3'
services:
  front:
    container_name: my-front-dev
    image: my-front-dev-image
    build:
      context: .
      dockerfile: front/Dockerfile.dev
    ports:
      - 5002:80
    volumes:
      - ./front/:/app/:rw:delegated

哪个版本的docker?我更新了我的问题,但我使用的是docker for mac,docker-v返回:docker version 17.12.0-ce,build C97C6D6您是否正在将您的本地开发目录装载到容器中?如果是,很可能是这样:这正是我正在做的!我切换到缓存模式,我的构建时间从3+分钟减少到30-40秒。仍然比本地慢,但更易于管理。谢谢!花了这么长时间才弄明白这一点,而这个答案是关键,它将我的构建时间从30秒缩短到你的卷中有了这个
/front/:/app/:rw,缓存的
。最后一部分的作用是什么?