Как установить и использовать Docker Compose в Ubuntu 18.04

Установка и использование Docker Compose в Ubuntu 18.04

Docker Compose — это инструмент, позволяющий создавать и управлять многоконтейнерными Docker-приложениями. Он использует YAML-файл для настройки служб, сетей и томов приложения.

Compose можно использовать для различных целей. Наиболее популярные варианты использования Docker Compose — развёртывание приложений на одном хосте, автоматическое тестирование и локальная разработка.

В этом руководстве мы покажем вам, как установить последнюю версию Docker Compose в Ubuntu 18.04, а также изучим основные концепции и команды Docker Compose.

Те же инструкции применимы для Ubuntu 16.04 и любого другого дистрибутива на базе Debian, включая Debian, Linux Mint и Elementary OS.

Предпосылки

Прежде чем продолжить изучение этого руководства, убедитесь, что выполнены следующие предварительные условия:

Установка Docker Compose в Ubuntu

Установочный пакет Docker Compose доступен в официальных репозиториях Ubuntu 18.04, но его версия может быть не всегда последней. Рекомендуется установить Docker Compose из репозитория Docker на GitHub.

На момент написания этой статьи последней стабильной версией Docker Compose была версия 1.23.1 . Перед загрузкой исполняемого файла Compose посетите страницу релиза репозитория Compose на GitHub и проверьте, доступна ли новая версия для загрузки.

Чтобы установить Docker Compose в Ubuntu 18.04, выполните следующие действия:

  1. Загрузите двоичный файл Docker Compose в каталог /usr/local/bin с помощью следующей команды curl :

     sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. После завершения загрузки примените права на исполнение к двоичному файлу Compose:

     sudo chmod +x /usr/local/bin/docker-compose
  3. Проверьте установку, выполнив следующую команду, которая отобразит версию Compose:

     docker-compose --version

    Вывод будет выглядеть примерно так:

     docker-compose version 1.23.1, build b02f1306

Начало работы с Docker Compose

В этом разделе мы покажем, как использовать Docker Compose для настройки многоконтейнерного приложения WordPress в Ubuntu 18.04.

Начните с создания каталога проекта и перехода в него:

 mkdir my_app cd my_app

Запустите текстовый редактор и создайте файл с именем docker-compose.yml внутри каталога проекта:

 nano docker-compose.yml

Вставьте следующее содержимое:

docker-compose.yml

 version : '3.3'  services :   db :     image : mysql:5.7     restart : always     volumes :       - db_data:/var/lib/mysql     environment :       MYSQL_ROOT_PASSWORD : password       MYSQL_DATABASE : wordpress    wordpress :     image : wordpress     restart : always     volumes :       - ./wp_data:/var/www/html     ports :       - "8080:80"     environment :       WORDPRESS_DB_HOST : db:3306       WORDPRESS_DB_NAME : wordpress       WORDPRESS_DB_USER : root       WORDPRESS_DB_PASSWORD : password     depends_on :        - db  volumes :     db_data :     wp_data : 

Давайте проанализируем код строка за строкой.

В первой строке мы указываем версию файла Compose . Существует несколько различных версий формата файла Compose, поддерживающих определённые версии Docker.

Далее мы определяем две службы: db и wordpress . Каждая служба запускает один образ и создаёт отдельный контейнер при запуске docker-compose.

Служба db :

  • Использует образ mysql:5.7 . Если образ отсутствует в системе, он будет загружен из публичного репозитория Docker Hub.
  • Использует политику «restart always , которая предписывает контейнеру всегда перезапускаться.
  • Создает именованный том db_data , чтобы сделать базу данных постоянной.
  • Определяет переменные среды для образа mysql:5.7 .

Сервис wordpress :

  • Использует образ wordpress . Если образ отсутствует в вашей системе, Compose загрузит его из публичного репозитория Docker Hub.
  • Использует политику «restart always , которая предписывает контейнеру всегда перезапускаться.
  • Монтирует каталог wp_data на хосте в /var/lib/mysql внутри контейнера.
  • Перенаправляет открытый порт 80 на контейнере на порт 8080 на хост-машине.
  • Определяет переменные среды для изображения wordpress .
  • Инструкция depends_on определяет зависимость между двумя службами. В этом примере db будет запущена до wordpress .

Из каталога проекта запустите приложение WordPress, выполнив следующую команду:

 docker-compose up

Вывод должен выглядеть примерно так:

 ... wordpress_1 | [Sun Sep 23 22:31:43.499055 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations wordpress_1 | [Sun Sep 23 22:31:43.499796 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

Compose извлечет оба изображения, запустит два контейнера и создаст каталог wp_data в каталоге вашего проекта.

Введите http://0.0.0.0:8080/ в своем браузере, и вы увидите экран установки WordPress.

На этом этапе приложение WordPress готово к работе, и вы можете начать работу над своей темой или плагином.

Чтобы остановить создание сообщения, нажмите CTRL+C .

Вы также можете запустить Compose в отсоединенном режиме, передав флаг -d .

 docker-compose up -d

Для проверки запущенных служб используйте опцию ps :

 docker-compose ps
 Name Command State Ports ---------------------------------------------------------------------------------- my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp my_app_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp

Когда Compose работает в отсоединенном режиме, для остановки служб используйте:

 docker-compose stop

Если вы хотите полностью удалить контейнеры, используйте опцию down :

 docker-compose down

Передача ключа --volumes также удалит тома данных:

 docker-compose down --volumes

Удаление Docker Compose

Если по какой-либо причине вы хотите удалить Docker Compose, вы можете просто удалить двоичный файл, введя:

 sudo rm /usr/local/bin/docker-compose

Заключение

Вы узнали, как установить и использовать Docker Compose в Ubuntu 18.04.

Использование Docker Compose может значительно улучшить ваш рабочий процесс и производительность. С помощью Docker Compose вы можете определить свою среду разработки и предоставить к ней доступ участникам проекта.

Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.

docker ubuntu Не используете Ubuntu 18.04?
Выберите другую ОС:
центос 7 дебиан 10 дебиан 9 убунту 20.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *