Docker Compose — это инструмент командной строки, который позволяет определять и настраивать многоконтейнерные приложения Docker. Он использует файл YAML для настройки служб, сетей и томов приложения.
С помощью Compose вы можете определить переносимую среду приложений, которую можно запускать в любой системе. Составные среды изолированы друг от друга, что позволяет запускать несколько копий одной и той же среды на одном хосте.
Compose обычно используется для локальной разработки, развертывания приложений с одним хостом и автоматического тестирования.
В этой статье объясняется, как установить последнюю версию Docker Compose в Ubuntu 20.04. Мы также рассмотрим основные концепции и команды Docker Compose.
Содержание
Подготовка
Мы предполагаем, что у вас установлен Docker на вашем компьютере с Ubuntu.
Установка Docker Compose в Ubuntu
Docker Compose — это отдельный двоичный файл. Установка проста. Мы загрузим файл в каталог, который находится в системном PATH, и сделаем его исполняемым.
На момент написания этой статьи последней стабильной версией Docker Compose была 1.25.5
. Перед загрузкой двоичного файла Compose посетите страницу выпуска репозитория Compose на GitHub и проверьте, доступна ли для загрузки новая версия.
Используйте curl
для загрузки файла Compose в каталог /usr/local/bin
:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
После завершения загрузки примените к файлу разрешения для исполняемого файла:
sudo chmod +x /usr/local/bin/docker-compose
Чтобы убедиться, что установка прошла успешно, выполните следующую команду, которая распечатает версию Compose:
docker-compose --version
Результат будет выглядеть примерно так:
docker-compose version 1.25.5, build b02f1306
Это оно! Docker Compose установлен на вашем компьютере с Ubuntu, и вы можете начать его использовать.
Начало работы с Docker Compose
В этом разделе мы будем использовать Docker Compose для создания многоконтейнерного приложения WordPress.
Первым шагом является создание каталога проекта:
mkdir my_app
cd my_app
Откройте текстовый редактор и создайте файл с именем docker-compose.yml
в каталоге проекта:
nano docker-compose.yml
Вставьте следующий контент:
version: '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:
docker-compose.yml
файла docker-compose.yml
.
Первая строка файла указывает версию файла Compose . Существует несколько различных версий формата файла Compose с поддержкой определенных выпусков Docker.
Затем вы определяете службы, тома и сети.
В этом примере у нас есть services, db
и wordpress
. Каждая служба запускает один образ и создает отдельный контейнер при запуске docker-compose.
Сервисы могут использовать образы, доступные в DockerHub, или образы, созданные из Dockerfile. Раздел службы также включает ключи, определяющие открытые порты, тома, переменные среды, зависимости и другие команды Docker.
Из каталога проекта запустите приложение WordPress, выполнив следующую команду:
docker-compose up
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
Удаление Docker Compose
Чтобы удалить Docker Compose, просто удалите двоичный файл, набрав:
sudo rm /usr/local/bin/docker-compose
Выводы
Мы показали вам, как установить Docker Compose в Ubuntu 20.04. Использование Docker Compose может значительно улучшить ваш рабочий процесс и производительность. Вы можете определить среду разработки с помощью Docker Compose и поделиться ею с соавторами проекта.
Если у вас есть вопросы, оставьте комментарий ниже.