Docker Compose - это инструмент для определения и запуска многоконтейнерных Docker приложений. Он позволяет описать структуру вашего приложения в файле YAML, определить сервисы, их зависимости, сети и другие параметры, и легко управлять всем этим в единой конфигурации.
Вот несколько популярных команд Docker Compose и их описание:
1. docker-compose up
Запускает приложение на основе файла конфигурации docker-compose.yml
. Если файл не указан, по умолчанию используется docker-compose.yml
.
docker-compose up
2. docker-compose down
Останавливает и удаляет контейнеры, созданные командой docker-compose up
. Эта команда удаляет сети, созданные для приложения.
docker-compose down
3. docker-compose build
Создает или пересоздает образы Docker для сервисов из файлов конфигурации.
docker-compose build
4. docker-compose ps
Отображает статус запущенных контейнеров, их состояние (запущен/остановлен) и порты, которые они используют.
docker-compose ps
Пример использования:
Предположим, у вас есть приложение, состоящее из веб-сервера (например, на основе Nginx) и базы данных (например, PostgreSQL). Вот как может выглядеть файл docker-compose.yml
для такой конфигурации:
version: '3'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./web-content:/usr/share/nginx/html
depends_on:
- db
db:
image: postgres:latest
environment:
POSTGRES_DB: mydatabase
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
Чтобы запустить это приложение, используйте docker-compose up
:
docker-compose up
Это запустит два контейнера: один с веб-сервером Nginx на порту 80, а другой с базой данных PostgreSQL. Их зависимости указаны через depends_on
, что гарантирует запуск базы данных перед веб-сервером.
Docker Compose - отличный инструмент для разработки и развертывания приложений с несколькими контейнерами, предоставляя удобный способ управления контейнерами, сетями и томами данных через простые команды.