Docker Compose — это инструмент командной строки, который позволяет определять и организовывать мультиконтейнерные приложения Docker. Он использует файл YAML для настройки служб, сетей и томов приложения.
С помощью Compose вы можете определить переносимую среду приложений, которую можно запускать в любой системе. Составные среды изолированы друг от друга, что позволяет запускать несколько копий одной и той же среды на одном хосте.
Compose обычно используется для локальной разработки, развертывания приложений на одном хосте и автоматического тестирования.
В этой статье объясняется, как установить последнюю версию Docker Compose в Ubuntu 20.04. Мы также рассмотрим основные концепции и команды Docker Compose.
Мы предполагаем, что на вашем компьютере с Ubuntu установлен Docker.
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 для создания мультиконтейнерного CMS WordPress.
Первый шаг — создать каталог проекта:
mkdir my_appcd 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.
Первая строка файла указывает версию файла Compose. Существует несколько разных версий формата файлов Compose с поддержкой определенных версий Docker.
Далее вы определяете услуги, объемы и сети.
В этом примере у нас есть службы db, и wordpress. Каждый сервис запускает один образ и создает отдельный контейнер при запуске docker-compose.
Сервисы могут использовать изображения, доступные на DockerHub, или изображения, созданные из Dockerfile. Раздел службы также включает ключи, указывающие открытые порты, тома, переменные среды, зависимости и другие команды Docker.
Из каталога проекта запустите приложение WordPress, выполнив следующую команду:
docker-compose up
Compose будет извлекать изображения, запускать контейнеры и создавать каталог wp_data.
Войдите http://0.0.0.0:8080/в свой браузер, и вы увидите экран установки WordPress. На этом этапе приложение WordPress запущено, и вы можете начать работать над своей темой или плагином.
Для остановки Compose нажмите 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, просто удалите двоичный файл, набрав:
sudo rm /usr/local/bin/docker-compose
Мы показали вам, как установить Docker Compose в Ubuntu 20.04. Использование Docker Compose может значительно улучшить ваш рабочий процесс и производительность. Вы можете определить свою среду разработки с помощью Docker Compose и поделиться ею с соавторами проекта.
Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.