-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
55 lines (55 loc) · 1.34 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
version: '3'
services:
mysql:
image: mysql:5.7
container_name: mysql
restart: always
environment:
- MYSQL_DATABASE=${MYSQL_DB}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
- ./mysqld.cnf:/etc/mysql/my.cnf
env_file:
- .env
mongo:
image: mongo
container_name: mongo
ports:
- '28017:27017'
volumes:
- ../data:/data/db
- ./scripts/:/docker-entrypoint-initdb.d
postgres:
image: postgres:9.6
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
ports:
- "5432:5432"
webserver:
build: ./
restart: always
depends_on:
- postgres
- mongo
- mysql
environment:
- LOAD_EX=n
- EXECUTOR=Local
volumes:
- ./dags:/usr/local/airflow/dags
- ./requirements.txt:/requirements.txt
- ./constants:/usr/local/airflow/constants
- ./helpers:/usr/local/airflow/helpers
- ./database:/usr/local/airflow/database
- ./config.ini:/usr/local/airflow/config.ini
ports:
- "8080:8080"
healthcheck:
test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
interval: 30s
timeout: 30s
retries: 3