Junior
Какво е Docker Compose?
sobes.tech AI
Отговор от AI
Инструмент за дефиниране и стартиране на многоконтейнерни Docker приложения. Позволява да се опишат услуги, мрежи и томове в един YAML файл и да се стартират с една команда.
Основни функции:
- Дефиниране на няколко услуги в един файл.
- Създаване и стартиране на всички услуги с една команда.
- Управление на жизнения цикъл на приложението (стартиране, спиране, рестартиране, мащабиране).
- Мрежова комуникация между контейнерите.
- Прилагане на конфигурацията на живо.
Пример за файл docker-compose.yml:
version: '3.8' # Версия на формата на файла
services:
web: # Име на услугата
image: nginx:latest # Използван образ
ports:
- "80:80" # Пренасочване на портове
volumes:
- ./html:/usr/share/nginx/html # Мапинг на томове
app: # Име на друга услуга
build: . # Сглобяване на образа от Dockerfile в текущата директория
ports:
- "5000:5000"
depends_on: # Зависимост от друга услуга
- db
db: # Име на услугата база данни
image: postgres:latest
environment: # Променливи на средата
POSTGRES_DB: mydatabase
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
volumes: # Определени томове
data: # Именуван том за данни
Команди:
docker-compose up: Стартира контейнерите.docker-compose down: Спира и изтрива контейнерите.docker-compose build: Сглобява образите.docker-compose ps: Показва статуса на работещите контейнери.
Предимства:
- Улеснява управлението на сложни многоконтейнерни приложения.
- Осигурява възпроизводимост на внедряването.
- Улеснява локалната разработка и тестване.