1
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2024-11-24 08:52:15 +02:00
dockerfiles/airflow/README.md
2020-08-17 15:45:42 +08:00

2.0 KiB

airflow

How It Works

                   +---------+
              +--> | Worker1 |
 redis        |    +---------+
 postgres     |
+--------+    |    +---------+
| Master | <--+--> | Worker2 |
+--------+    |    +---------+
 webserver    |
 scheduler    |    +---------+
 flower       +--> | Worker3 |
                   +---------+

Quick Start

$ docker stack deploy -c docker-stack.yaml airflow
$ docker stack services airflow
$ docker service ps airflow_webserver
$ docker exec -it airflow_webserver.1.xxxxxx sh
>>> airflow create_user -r Admin -u admin -e admin@borderxlab.com -f Super -l Admin -p secret
>>> airflow list_users
╒══════╤════════════╤══════════════════════╤══════════════╤═════════════╤═════════╕
│   Id │ Username   │ Email                │ First name   │ Last name   │ Roles   │
╞══════╪════════════╪══════════════════════╪══════════════╪═════════════╪═════════╡
│    1 │ admin      │ admin@borderxlab.com │ Super        │ Admin       │ [Admin] │
╘══════╧════════════╧══════════════════════╧══════════════╧═════════════╧═════════╛
>>> exit

$ curl http://localhost:8080/
$ curl http://localhost:5555/

⚠️ You need to prepare nfs server with airflow.cfg.

$ python -c 'from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())'
CD2wL7G0zt1SLuO4JQpLJuHtBaBEcXWKbQyvkvf2cZ8=

⚠️ You should set another value to fernet_key in airflow.cfg to improve security.