Docker Compose используется для запуска нескольких контейнеров как одного сервиса. Например, предположим, что у вас есть приложение, которое требует NGNIX и MySQL, вы можете создать один файл, который будет запускать оба контейнера как службу без необходимости запускать каждый из них по отдельности.
В этой главе мы увидим, как начать работу с Docker Compose. Затем мы рассмотрим, как получить простой сервис с MySQL и NGNIX и запустить его с помощью Docker Compose.
Docker Compose ─ Установка
Чтобы запустить Docker Compose, необходимо выполнить следующие шаги.
Шаг 1 — Загрузите необходимые файлы с github, используя следующую команду —
curl -L "https://github.com/docker/compose/releases/download/1.10.0-rc2/dockercompose -$(uname -s) -$(uname -m)" -o /home/demo/docker-compose
Приведенная выше команда загрузит последнюю версию Docker Compose, которая на момент написания этой статьи была 1.10.0-rc2 . Затем он будет хранить его в каталоге / home / demo / .
Шаг 2 — Далее нам нужно предоставить права на выполнение загруженному файлу Docker Compose, используя следующую команду —
chmod +x /home/demo/docker-compose
Затем мы можем использовать следующую команду, чтобы увидеть составную версию.
Синтаксис
docker-compose version
параметры
-
версия — это используется, чтобы указать, что мы хотим узнать подробности о версии Docker Compose .
версия — это используется, чтобы указать, что мы хотим узнать подробности о версии Docker Compose .
Выход
Будет отображена информация о версии Docker Compose.
пример
В следующем примере показано, как получить версию docker-compose .
sudo ./docker-compose -version
Выход
Затем вы получите следующий вывод —
Создание вашего первого Docker-Compose File
Теперь давайте продолжим и создадим наш первый файл Docker Compose. Все файлы Docker Compose являются файлами YAML. Вы можете создать его с помощью редактора vim. Поэтому выполните следующую команду, чтобы создать файл compose —
sudo vim docker-compose.yml
Давайте внимательно рассмотрим различные детали этого файла —
-
База данных и веб- ключевое слово используются для определения двух отдельных сервисов. Один будет работать с нашей базой данных mysql, а другой будет нашим веб-сервером nginx .
-
Ключевое слово image используется для указания изображения из dockerhub для наших контейнеров mysql и nginx
-
Для базы данных мы используем ключевое слово ports, чтобы указать порты, которые должны быть выставлены для mysql .
-
И затем, мы также указываем переменные окружения для mysql, которые необходимы для запуска mysql .
База данных и веб- ключевое слово используются для определения двух отдельных сервисов. Один будет работать с нашей базой данных mysql, а другой будет нашим веб-сервером nginx .
Ключевое слово image используется для указания изображения из dockerhub для наших контейнеров mysql и nginx
Для базы данных мы используем ключевое слово ports, чтобы указать порты, которые должны быть выставлены для mysql .
И затем, мы также указываем переменные окружения для mysql, которые необходимы для запуска mysql .
Теперь давайте запустим наш файл Docker Compose, используя следующую команду —
sudo ./docker-compose up
Эта команда возьмет файл docker-compose.yml в ваш локальный каталог и начнет сборку контейнеров.
После запуска все изображения начнут загружаться, и контейнеры начнутся автоматически.
И когда вы делаете docker ps , вы можете видеть, что контейнеры действительно работают.