version: "3.5"
services:
redis:
container_name: airflow-redis
image: "redis:5.0.5"
command: redis-server --requirepass password
networks:
airflow_net:
aliases:
- airflow-redis
postgres:
image: postgres:9.6
container_name: airflow-postgres
environment:
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=password
- POSTGRES_DB=airflow-postgres
volumes:
- ./pgdata:/var/lib/postgresql/data
networks:
airflow_net:
aliases:
- airflow-postgres
webserver:
image: puckel/docker-airflow:1.10.9
container_name: airflow-webserver
restart: always
depends_on:
- postgres
- redis
environment:
- LOAD_EX=n
- FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho=
- EXECUTOR=Celery
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=ddc_123
- POSTGRES_DB=airflow-postgres
- REDIS_PASSWORD=password
volumes:
- ./dags:/usr/local/airflow/dags
- ./plugins:/usr/local/airflow/plugins
ports:
- "8080:8080"
command: webserver
healthcheck:
test:
["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
interval: 30s
timeout: 30s
retries: 3
networks:
airflow_net:
aliases:
- airflow-webserver
flower:
image: puckel/docker-airflow:1.10.9
container_name: airflow-flower
restart: always
depends_on:
- redis
environment:
- EXECUTOR=Celery
- REDIS_PASSWORD=password
ports:
- "5555:5555"
command: flower
networks:
airflow_net:
aliases:
- airflow-flower
scheduler:
image: puckel/docker-airflow:1.10.9
container_name: airflow-scheduler
restart: always
depends_on:
- webserver
volumes:
- ./dags:/usr/local/airflow/dags
- ./plugins:/usr/local/airflow/plugins
environment:
- LOAD_EX=n
- FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho=
- EXECUTOR=Celery
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=ddc_123
- POSTGRES_DB=airflow-postgres
- REDIS_PASSWORD=password
command: scheduler
networks:
airflow_net:
aliases:
- airflow-scheduler
worker:
image: puckel/docker-airflow:1.10.9
container_name: airflow-worker
restart: always
depends_on:
- scheduler
volumes:
- ./dags:/usr/local/airflow/dags
- ./plugins:/usr/local/airflow/plugins
environment:
- FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho=
- EXECUTOR=Celery
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=ddc_123
- POSTGRES_DB=airflow-postgres
- REDIS_PASSWORD=password
command: worker
networks:
airflow_net:
aliases:
- airflow-worker
networks:
airflow_net:
name: airflow_net
docker-compose.yml 发布 airflow
最新推荐文章于 2025-04-27 11:40:41 发布