Содержание

Связывание контейнеров с помощью Docker Compose

Введение

Что такое Docker Compose?

Установка Docker Compose

Основной файл конфигурации: `docker-compose.yml`

Секция `services`

Секция `networks`

Секция `volumes`

Основные команды Docker Compose

Пример `docker-compose.yml` для веб-приложения с базой данных

snippet.yaml
version: "3.8"

services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    depends_on:
      - app
    networks:
      - frontend

  app:
    build: ./app
    environment:
      DATABASE_URL: postgres://user:password@db:5432/mydb
    depends_on:
      - db
    networks:
      - frontend
      - backend

  db:
    image: postgres:13
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydb
    networks:
      - backend

networks:
  frontend:
    driver: bridge
  backend:
    driver: bridge

volumes:
  db_data:

Описание примера:

Рабочий процесс с Docker Compose

  1. Создайте файл docker-compose.yml с описанием всех сервисов вашего приложения.
  2. При необходимости создайте Dockerfile для ваших собственных сервисов (например, app в примере).
  3. Запустите приложение командой docker-compose up -d.
  4. Просматривайте логи сервисов с помощью docker-compose logs <service>.
  5. Останавливайте и удаляйте приложение командой docker-compose down.

Заключение

Docker Compose значительно упрощает управление многоконтейнерными Docker-приложениями. Файл docker-compose.yml является центральным элементом для определения конфигурации приложения. Понимание основных секций и команд Docker Compose необходимо для эффективной работы с несколькими связанными контейнерами.

DokuWiki Appliance - Powered by TurnKey Linux