Как ускорить docker-compose на Mac OS X — docker-sync
Хорошая статья про настройку docker-sync — короче и ёмче, чем в официальной документации:
https://dev.to/kovah/cut-your-docker-for-mac-response-times-in-half-with-docker-sync-1e8j
1. Установка через терминал
gem install --user-install docker-sync
# or globally via
sudo gem install docker-sync
2. Добавить файл docker-sync.yml в корень проекта (пример для Symfony)
version: "2"
options:
compose-dev-file-path: 'docker-compose-sync.yml' # Если хочется изменить дефолтный файл docker-compose-dev.yml
syncs:
PROJECT-data-sync: # Это надо заменить на любое уникальное имя
src: './'
host_disk_mount_mode: 'cached'
sync_excludes:
- '.git'
- '.idea'
- 'app/cache/*'
- 'app/logs/*'
3. Добавить файл docker-compose-sync.yml (или *-dev.yml по умолчанию) в корень проекта:
version: '3.2'
services:
web:
volumes:
- ./composer.json:/var/www/html/composer.json
- ./composer.lock:/var/www/html/composer.lock
- PROJECT-data-sync:/var/www/html:nocopy
volumes:
PROJECT-data-sync:
external: true
4. Запускаем в терминале в корне проекта
docker-sync start
# нужно подождать, пока всё синхронизируется
docker-compose -f docker-compose.yml -f docker-compose-sync.yml up -d
Запуск через docker-sync-stack start делает две команды выше, но остаётся висеть в консоли, а не уходит в фоновые процессы.
Чтобы остановить, делаем ровно обратное
docker-compose stop
docker-sync stop