Продължете към съдържанието
Начало » Блог » Docker Compose Cheatsheet

Docker Compose Cheatsheet

Docker Compose CheatSheet – Бърз справочник за многоконтейнерни приложения

Docker Compose е инструмент, който улеснява управлението на многоконтейнерни Docker приложения чрез един YAML файл. Той ви позволява да дефинирате, стартирате и управлявате цялата среда с една команда.


Какво представлява docker-compose.yml?

Примерен docker-compose.yml:

version: '3.8'
services:
web:
image: nginx
ports:
- "8080:80"
app:
build: .
volumes:
- .:/code
depends_on:
- db
db:
image: postgres
environment:
POSTGRES_PASSWORD: example

Основни команди

Действие Команда
Стартирай услугите docker-compose up
Стартирай във фонов режим docker-compose up -d
Спри всички услуги docker-compose down
Преизгради услуги docker-compose up --build
Преизгради само образите docker-compose build
Спри (без да изтриваш) docker-compose stop
Стартирай отново docker-compose start
Рестартирай docker-compose restart

Инспекция и диагностика

Действие Команда
Покажи статус docker-compose ps
Покажи логове docker-compose logs
Следи логове на живо docker-compose logs -f
Достъп до контейнер docker-compose exec <услуга> bash
Пусни команда в контейнер docker-compose run <услуга> <команда>

Работа с среди (env files)

Можеш да дефинираш променливи в .env файл и да ги използваш в docker-compose.yml така:

environment:
- DB_USER=${DB_USER}

.env файл:

DB_USER=admin

Volumes и Mounts

volumes:
- ./data:/var/lib/mysql

Това монтира локалната папка ./data в контейнера.


depends_on

depends_on:
- db

Определя зависимост между услугите. Но не гарантира, че услугата е напълно готова — само че е стартирана. Използвайте healthcheck, ако е нужно изчакване.


Полезни съвети

  • Reset на Compose среда: docker-compose down -v --remove-orphans
  • Изчисти ненужните образи и контейнери: docker system prune
  • Разгледай всички обекти, свързани с Compose: docker-compose config

Допълнителни възможности

  • Multi-host orchestration? => Потърси Docker Swarm или Kubernetes.
  • Поддръжка за различни среди? Използвай различни docker-compose.override.yml файлове.
  • Миграции, cron, init скриптове? Добави command: и entrypoint: в YAML-а.

Docker Compose е мощен инструмент за разработчици и екипи, които работят с микросервизна архитектура. Той съкращава времето за конфигурация и стартиране на среди и улеснява автоматизацията. Този cheatsheet предоставя основните команди и концепции, които ще използваш всеки ден.