Докер в MacOs очень медленный - PullRequest
5 голосов
/ 02 мая 2019

У меня есть этот docker-compose.yml:

version: "3.1"
services:

    memcached:
      image: memcached:alpine
      container_name: universal-memcached2

    redis:
      image: redis:alpine
      container_name: universal-redis2

    mariadb:
      image: mariadb:10.4
      container_name: universal-mariadb2
      working_dir: /application
      volumes:
        - .:/application
        - "../data/db:/var/lib/mysql" # skasowac
      environment:
        - MYSQL_ROOT_PASSWORD=Haslo
        - MYSQL_DATABASE=sample
        - MYSQL_USER=user
        - MYSQL_PASSWORD=Haslo
      ports:
        - "8083:3306"


    webserver:
      image: nginx:alpine
      container_name: universal-webserver2
      working_dir: /application
      volumes:
          - .:/application
          - ./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
      ports:
       - "8080:80"

    php-fpm:
      build: phpdocker/php-fpm
      container_name: universal-php-fpm2
      working_dir: /application
      volumes:
        - .:/application
        - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.3/fpm/conf.d/99-overrides.ini

    volumes:
        generated:
        var:
        static:

    phpmyadmin:
      image: phpmyadmin/phpmyadmin
      links:
        - mariadb
      environment:
        PMA_HOST: mariadb
        PMA_PORT: 3306
      ports:
        - '8081:80'

Когда я запускаю на нем свой новый проект в Symfony 4, он работает очень медленно ...: (

У меня есть новые MacO и Docker Desktop. В настоящее время я изучаю фреймворк Symfony и Laravel, но это очень медленно для Docker. Он даже не работает над этим.

Как я могу его починить?

Ответы [ 2 ]

3 голосов
/ 02 мая 2019

На самом деле, Docker для запуска нужна простая Linux kernel.К сожалению, Mac OS и Windows не могут обеспечить это.Поэтому в Mac OS есть клиент для запуска Docker.В дополнение к этому, существует уровень абстракции между ядром Mac OS и приложениями (контейнеры Docker), и файловые системы не одинаковы.Из-за этого Docker работает на Mac OS медленно.Вы не можете запустить Docker в Mac OS, как в Linux.

Если мне нужно привести несколько примеров о реальных вариантах использования.У меня такая же машина.Итак, я использую Symfony 4 на Docker v18 на Mac OS Mojave.Это мое общее время выполнения Symfony на Docker.( Очевидно, что это зависит от вашего интерфейса и запросов к базе данных, но я пытаюсь объяснить вам основную логику. )

  • первый раз рендеринг 12000 мс
  • с Symfonyкеш: 344 мс
  • с кешем Docker (: свойство cached для тома Docker для томов): 195 мс

Пока я использую Symfony без Docker, следующее мое общее выполнениевремя.

  • без Docker, с кешем Symfony: 82 мс

Принимая во внимание, что мы могли бы сделать некоторые улучшения, чтобы улучшить рабочее пространство.Например, вы можете использовать такие тома, как

volumes: - .:/application:cached

0 голосов
/ 03 мая 2019

Один вариант будет использовать http://docker -sync.io / Но вы не получите такую ​​же производительность, как на компьютере с Linux.

...