Настройка docker compose.

Docker compose — инструмент который позволяет описывать, запускать, останавливать, смотреть логи, клонировать контейнеры и много чего еще. Главное конечно, описание приложения которое состоит из нескольких связанных друг с другом контейнеров. Это может быть что угодно, сайт, база данных, memcache, контейнер c myadmin. Или в нашем случае простое приложение WordPress: база данных, контейнер с PHP нужной версии и  внешний nginx.

Настройка и установка, как и все что касается докера, предельно просты. Самое основное что нужно сделать — понять как работает докер, это описано в предыдущей статье:

Настройка docker. Пример настройки и миграции проекта в Docker.

Итак поехали:

$ sudo curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

$docker-compose -v
docker-compose version 1.6.2, build 4d72027

 

Далее на основании всего что мы делали в прошлой статье создаем красивый конфиг формата yml:

nginx_in:
  container_name: nginx_in
  hostname: nginx_in
  image: nginx:latest
  ports:
   - "5.9.193.100:80:80"
   - "5.9.193.100:443:443"
  volumes:
    - /srv/docker/casp.ru/old/var/www/casp.ru/old:/var/www/casp.ru/old:ro
    - /srv/docker/nginx_in/log:/var/log/nginx:rw
    - /srv/docker/nginx_in/etc/nginx:/etc/nginx/:ro
  links:
   - php_caspru:php_caspru


php_caspru:
  container_name: php_caspru
  hostname: php_caspru
  build: ./php-caspru/
  volumes:
    - /srv/docker/casp.ru/old/var/www/casp.ru/old:/var/www/html:rw
    - /srv/docker/casp.ru/old/etc/apache2/sites-enabled:/etc/apache2/sites-enabled:rw
  links:
    - mysql_local:mysql_local


mysql_local:
  container_name: mysql_local
  hostname: mysql_local
  image: mysql/mysql-server:latest
  volumes:
    - /srv/docker/mysql/db/:/var/lib/mysql

И запускаем:

$ docker-compose up -d
Starting mysql_local
Starting php_caspru
Starting nginx_in

Если контейнеры уже запущены, но конфиг изменен то произойдет перезапуск того контейнера, конфиг которого был изменен и все те, которые на него залинкованы. Что логично.

 

Доки тут: https://docs.docker.com/compose/

Другие новости
21.05.2019
Настойка satis для пакетов composer в docker

Настрройка satis satis — кеширующий сервер для пакетов php composer. Для настройки репозитория будем использовать официальный docker. Разработчикам понадобится редактировать файла конфигурации satis.json, для этого поднимем отдельный контейнер с sftp и ftp серверами внутри. Файл конфиргурации в нашем случае должен

27.07.2018
Лечим wordpress https err_too_many_redirects

По какой логике wordpress понимает что к нему пришел https не понятно, но часто сталкиваемся с проблемой когда стили и js вордпресс отдает  по http и изза mixed content браузеры их режут. Если в настройках (Настройки -> Общие) жестко указали