Створення файлів compose.yaml

Середній рівень Docker

Mike Metzger

Data Engineering Consultant

YAML

  • Yet Another Markup Language
    • YAML Ain't Markup Language
  • Текстовий файл, але відступи важливі (як у Python)
  • Використовується у багатьох сценаріях розробки для конфігурацій
  • Правила можуть бути підступними — тримайте записи вирівняними, як у прикладах
services:
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
      - "5432:5432"
    restart: always
  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4:latest
    ports:
      - "5050:80"
    restart: always
Середній рівень Docker

Основні секції

  • Різні секції описують різні компоненти
  • services: перелік контейнерів для запуску
  • networks: визначення мережі
  • volumes: монтування томів
  • configs: параметри конфігурації без власних образів
  • secrets: опції для паролів, токенів, ключів API тощо
  • Докладніше див. Docker Compose Documentation
services:
  ... # Визначте контейнери

networks: ... # Вкажіть параметри мережі
volumes: ... # Визначте вимоги до сховища
configs: ... # Вкажіть особливі параметри конфігурації
secrets: ... # Визначте паролі / тощо
1 https://docs.docker.com/compose/compose-file/
Середній рівень Docker

Секція Services

  • Описує всі ресурси, потрібні застосунку
  • Переважно задає контейнери та образи для використання
  • Є багато опцій, але вони застосовуються до окремих контейнерів
  • Відступи застосовуйте за потреби
  • Перший підрозділ — назва компонента, далі його налаштування
Середній рівень Docker

Приклад секції Services

services:

# Назва ресурсу postgres:
# Ім'я контейнера; інакше буде випадкове container_name: postgres
# Образ контейнера для використання image: postgres:latest
# Потрібне відображення портів ports: # Параметри мережі - "5432:5432"
# Наступний ресурс pgadmin: ...
  • Назва ресурсу
  • container_name: — призначене ім'я контейнера; інакше випадкове
  • image: — який образ контейнера використовувати
  • ports: — список потрібних відображень портів
  • Далі йдуть інші необхідні ресурси
Середній рівень Docker

Додаткові зауваги

  • Синтаксис config.yaml дуже широкий
    • Тут лише мала частина опцій compose.yaml
    • Обов'язково перегляньте документацію!
  • Зазвичай не потрібно створювати compose.yaml з нуля
1 https://docs.docker.com/compose/compose-file/
Середній рівень Docker

Давайте потренуємось!

Середній рівень Docker

Preparing Video For Download...