Пример взят с docs.microsoft.com
version: "3.7"
services:
app:
image: node:12-alpine
#build: .
command: sh -c "yarn install && yarn run dev"
ports:
- 3000:3000
working_dir: /app
volumes:
- ./:/app
environment:
MYSQL_HOST: mysql
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_DB: todos
networks:
app_net:
mysql:
image: mysql:5.7
volumes:
- todo-mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: todos
networks:
app_net:
volumes:
todo-mysql-data:
networks:
app_net:
driver: bridge
Ключи | Применение |
---|---|
build | Указывает путь откуда брать Dockerfile для создания образа |
args | Указание аргументов билда которые требуются во время создания образа |
command | Переписывает CMD указанную в Dockerfile |
devices | Мапирование физических устройств в рабочий контейнер |
depends_on | Указание зависимости сервисов друг от друга. Зависимый сервис будет запускаться последний |
dns | Указанный в ручуню DNS сервер |
entrypoint | Переписывает ENTRYPOINT директиву из Dockerfile |
env_file | Добавление переменных с помощью файла переменных окружения |
environment | Явное указание переменных в контейнер |
expose | Выставление портов контейнера, они будут доступны только linked сервисам, могут быть указаны только внутренние порты. |
image | Указание образа, который будет взят для старта контейнера |
links | Связывание контейнеров разных сервисах |
logging | Настройки логирования для сервиса. |
networks | Сеть к которой будет присоденен сервис |
ports | Маирование портов из контейнера в хост систему |
volumes | Мапирование папок из хост системы в контенер |