Моя проблема в следующем: у меня есть Docker на OSX с контейнерами, содержащими Redis, NginX, PHP 7 и Unison. При сопоставлении с php-контейнером у меня есть объем с Symfony 3.1.7.Как выяснить, что замедляет докер?
Все работает, но страница «Добро пожаловать» Symfony в среднем занимает 1,5 секунды. В то же время такая же настройка без докера дает мне время загрузки 0,2 секунды. Такое же различие я получил для консольных команд Symfony, поэтому, я думаю, это не проблема с NginX, и Unison должен был скрыть все проблемы, связанные с синхронизацией файлов Docker по проблеме OSX.
Прямо сейчас у меня кончились идеи, что я могу сделать, чтобы ускорить процесс и как выяснить, что создает задержку в 1,5 с.
У меня такая же проблема на моем втором MBP, но такого не бывает на ноутбуке коллег, который похож на тот, который у меня есть, но мы не смогли найти разницы между двумя настройками.
Все работает на моем MBP с 2,5 ГГц i5, 8 ГБ оперативной памяти и SSD.
Docker 1.12.3, OSX 10.12.1 (Sierra)
докер-compose.yml:
mydockerbox-redis:
image: phpdockerio/redis:latest
container_name: mydockerbox-redis
mydockerbox-webserver:
image: phpdockerio/nginx:latest
container_name: mydockerbox-webserver
volumes:
- ..:/var/www/mydockerbox
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
- "80:80"
links:
- mydockerbox-php-fpm
unison:
image: leighmcculloch/unison:latest
environment:
- UNISON_WORKING_DIR=/unison
volumes:
- ../mydockerbox:/var/www/mydockerbox
ports:
- "5000:5000"
mydockerbox-php-fpm:
build: .
dockerfile: php-fpm/Dockerfile
container_name: mydockerbox-php-fpm
volumes_from:
- unison
volumes:
- ./php-fpm/php-ini-overrides.ini:/etc/php/7.0/fpm/conf.d/99-overrides.ini
links:
- mydockerbox-redis
UPD А вот Dockerfile для PHP-FPM контейнера:
FROM phpdockerio/php7-fpm:latest
# Install selected extensions and other stuff
RUN apt-get update \
&& apt-get -y --no-install-recommends install php7.0-mongodb php7.0-redis php7.0-igbinary \
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
WORKDIR "/var/www/mydockerbox"
Какой драйвер вы используете для докерной машины? – Matteo
@Matteo - Я довольно новичок в Docker, поэтому я могу ошибаться, но, насколько я понял, эта версия Docker утверждает, что является родной для OSX, поэтому я думаю - это просто Docker, не VirtualBox или Vagrant, а некоторые другие подобные вещи. –
Если вы запустите 'docker-machine ls', вы увидите столбец DRIVER – Matteo