大家好。
AirFlow 1.10 有一个已知的 puckel/docker-airflow:1.10.9 docker 镜像。
version: '2.1'
services:
redis:
image: 'redis:5.0.5'
# command: redis-server --requirepass redispass
postgres:
image: postgres:9.6
environment:
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=airflow
- POSTGRES_DB=airflow
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- ./pgdata:/var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
webserver:
image: puckel/docker-airflow:1.10.9
restart: always
depends_on:
- postgres
- redis
env_file:
- .env
environment:
- LOAD_EX=n
- FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho=
- EXECUTOR=Celery
# - POSTGRES_USER=airflow
# - POSTGRES_PASSWORD=airflow
# - POSTGRES_DB=airflow
# - REDIS_PASSWORD=redispass
volumes:
- ./airflow/dags:/usr/local/airflow/dags
# Uncomment to include custom plugins
- ./airflow/plugins:/usr/local/airflow/plugins
- ./logs:/usr/local/airflow/logs
- ./requirements.txt:/requirements.txt
ports:
- "8080:8080"
command: webserver
healthcheck:
test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
interval: 30s
timeout: 30s
retries: 3
flower:
image: puckel/docker-airflow:1.10.9
restart: always
depends_on:
- redis
environment:
- EXECUTOR=Celery
# - REDIS_PASSWORD=redispass
ports:
- "5555:5555"
command: flower
pgadmin-compose:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: "test@gmail.com"
PGADMIN_DEFAULT_PASSWORD: "test123!"
ports:
- 16543:80
depends_on:
- postgres
scheduler:
image: puckel/docker-airflow:1.10.9
restart: always
depends_on:
- webserver
volumes:
- ./airflow/dags:/usr/local/airflow/dags
# Uncomment to include custom plugins
- ./airflow/plugins:/usr/local/airflow/plugins
- ./logs:/usr/local/airflow/logs
- ./requirements.txt:/requirements.txt
environment:
- LOAD_EX=n
- FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho=
- EXECUTOR=Celery
# - POSTGRES_USER=airflow
# - POSTGRES_PASSWORD=airflow
# - POSTGRES_DB=airflow
# - REDIS_PASSWORD=redispass
command: scheduler
worker:
image: puckel/docker-airflow:1.10.9
restart: always
depends_on:
- scheduler
volumes:
- ./airflow/dags:/usr/local/airflow/dags
# Uncomment to include custom plugins
- ./airflow/plugins:/usr/local/airflow/plugins
- ./logs:/usr/local/airflow/logs
- ./requirements.txt:/requirements.txt
environment:
- FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho=
- EXECUTOR=Celery
# - POSTGRES_USER=airflow
# - POSTGRES_PASSWORD=airflow
# - POSTGRES_DB=airflow
# - REDIS_PASSWORD=redispass
command: worker
我不明白我需要添加什么参数才能使用我的登录名和密码登录管理面板。有人解决了这个?
一般来说,默认情况下,日志/通行证是气流/气流,而不是自由访问。用户是在初始化期间在数据库中定义的。
您也可以传递环境,但不建议在生产中这样做:
或者通过web界面安全->列出用户->+
另外,我建议您仍然使用该映像
apache/airflow:{version}并升级到版本 2+。并且不要在 docker-compose 中以开放形式存储私有数据。