Поток работы Docker Compose
Понимание Docker Compose
Docker Compose — это инструмент для определения и запуска многоконтейнерных приложений Docker. Он использует файлы YAML для настройки сервисов приложения, сетей и томов, что позволяет создавать сложные архитектуры приложений с простой конфигурацией.
graph TD
A[YAML-файл Docker Compose] --> B[Конфигурация сервиса]
B --> C[Определение контейнеров]
B --> D[Настройка сети]
B --> E[Управление томами]
Установка на Ubuntu 22.04
## Установить Docker Compose
sudo apt update
sudo apt install docker-compose-plugin
## Проверить установку
docker compose version
Файл конфигурации Docker Compose
Типичная структура файла docker-compose.yml включает сервисы, сети и тома:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "8080:80"
database:
image: postgres:13
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
postgres-data:
Основные команды Docker Compose
| Команда |
Описание |
| docker compose up |
Создать и запустить контейнеры |
| docker compose down |
Остановить и удалить контейнеры |
| docker compose ps |
Список контейнеров |
| docker compose logs |
Просмотр логов контейнеров |
| docker compose build |
Сборка или пересборка сервисов |
Пример приложения с несколькими контейнерами
version: "3.8"
services:
frontend:
build: ./frontend
ports:
- "3000:3000"
backend:
build: ./backend
ports:
- "5000:5000"
depends_on:
- database
database:
image: mongo:latest
volumes:
- mongodb_data:/data/db
volumes:
mongodb_data:
Расширенные методы конфигурации
services:
web:
restart: always
environment:
- DEBUG=True
networks:
- app_network
deploy:
replicas: 3
update_config:
parallelism: 1
networks:
app_network:
driver: bridge