【问题标题】:Running Docker containers slows down new Macbook Pro to a crawl运行 Docker 容器会降低新 Macbook Pro 的爬行速度
【发布时间】:2019-06-25 14:59:02
【问题描述】:

我在全新的 Macbook Pro 2019 上遇到了 Docker 问题。每当我不运行任何 Docker 容器时,它都运行良好,一切都很顺利和快速。一旦我启动我的 Docker 容器,一切都会变慢,我正在处理的网站的加载速度也很慢(加载时间长达一分钟甚至更长的时间很常见。有时没有减速,但即使这样也需要页面要加载 5+ 秒,而我的同事在 Linux 上运行相同的容器看到 1-2 秒的加载时间。我已经重新安装了 Docker 几次,甚至尝试了不同的版本(包括 Docker Edge,它显然应该解决一些问题,它没有),但似乎没有什么不同。

我直接通过 PHPStorm(运行 docker-compose -f docker/docker-compose.yml up -d --build)或使用 docker-compose up -d 启动容器

如果感兴趣,这是我们正在使用的 docker-compose.yml 文件

nginx:
  build: nginx
  ports:
    - "8080:80"
  links:
    - php
  volumes:
    - ../:/app

php:
  build: php-fpm
  volumes:
    - ../:/app
  working_dir: /app

我注意到com.docker.hyperkit 在活动监视器中使用 400+% CPU,这可能是一个原因,但我不知道如何减少 CPU 使用率。

我不知道从哪里开始进行故障排除,因此我们将不胜感激。

docker-compose config 输出;

services:
  nginx:
    build:
      context: /Users/{MyUser}/Documents/{project}/docker/nginx
    links:
    - php
    network_mode: bridge
    ports:
    - 8080:80/tcp
    volumes:
    - /Users/{MyUser}/Documents/{project}:/app:rw
  php:
    build:
      context: /Users/{MyUser}/Documents/{project}/docker/php-fpm
    network_mode: bridge
    volumes:
    - /Users/{MyUser}/Documents/{project}:/app:rw
    working_dir: /app
version: '2.1'

【问题讨论】:

  • 您可以运行docker-compose config 并发布回复吗?该行为可能是由您使用卷的方式引起的。那个“../”可能会向你的 docker 守护进程发送大量数据。你做了两次......让我知道
  • 我已将输出添加到原始帖子中。
  • 所以这不是问题。在 Mac 上,您需要为 docker 进程分配更多内存。您可以通过单击鲸鱼图标在设置中执行此操作。最初它带有 2Gb,但你应该给它一半以上的可用 RAM。
  • 我已将其更改为 9gb(已将其设置为 4),网页仍然加载缓慢,但到目前为止我还没有注意到速度变慢。希望它至少解决了这个问题。
  • 那你还能更新帖子吗?也许其他人更容易看到错误

标签: macos docker


【解决方案1】:

通过将:cached 添加到我的docker-compose.yml 文件中的PHP 卷中,设法在一定程度上解决了这个问题;

php:
  build: php-fpm
  volumes:
    - ../:/app:cached
  working_dir: /app

页面加载时间仍然可以达到 3/5 秒,但至少我的 Mac 不再变慢,与我之前看到的 10s/1m+ 加载时间相比,它仍然是一个巨大的改进。

【讨论】:

    猜你喜欢
    • 2022-06-13
    • 2022-08-06
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2017-03-25
    • 2014-06-19
    • 2014-04-25
    相关资源
    最近更新 更多