Sobes.tech
Back to questions
Junior — Middle
77

Можете объяснить назначение и структуру файла docker-compose.yml в Docker, а также его основные функции?

Answer from AI

sobes.tech AI

Файл docker-compose.yml используется для определения и запуска многоконтейнерных Docker-приложений. В нем описываются сервисы (контейнеры), их образы, настройки сети, тома и зависимости между ними.

Основные функции и структура:

  • services — список сервисов, каждый из которых описывает контейнер с параметрами:

    • image — образ Docker для запуска
    • build — инструкция для сборки образа из Dockerfile
    • ports — проброс портов из контейнера на хост
    • volumes — монтирование томов
    • environment — переменные окружения
    • depends_on — зависимости между сервисами
  • networks — настройка пользовательских сетей

  • volumes — определение томов для хранения данных

Пример:

version: '3'
services:
  web:
    build: ./webapp
    ports:
      - "80:80"
    volumes:
      - ./webapp:/app
    depends_on:
      - db
  db:
    image: postgres:13
    environment:
      POSTGRES_PASSWORD: example
    volumes:
      - db-data:/var/lib/postgresql/data
volumes:
  db-data:

Таким образом, docker-compose.yml упрощает управление комплексными приложениями, позволяя запускать и конфигурировать несколько контейнеров одной командой.