1. 任意のディレクトリを作る
% mkdir docker_airflow % cd docker_airflow
2. Docker Compose ファイルをダウンロードし、プロジェクトを実行する
% curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.1/docker-compose.yaml' % mkdir -p ./dags ./logs ./plugins ./config % docker-compose up airflow-init % docker-compose up -d
ブラウザで「http://127.0.0.1:8080」を開いてログインします。


3. DAG を追加する
プロジェクトディレクトリ直下の「dags」に下記の my_dag.py を追加しました。
色々書いてありますが、下の方で「bash_command='echo "Hello, Airflow!"'」となっている通り、Hello, Airflow! と表出するプログラムになっています。
# my_dag.py from airflow import DAG from airflow.operators.bash_operator import BashOperator from datetime import datetime default_args = { 'owner': 'airflow', 'start_date': datetime(2023, 1, 1), } with DAG(dag_id='my_dag', schedule_interval='@daily', default_args=default_args) as dag: task1 = BashOperator( task_id='task1', bash_command='echo "Hello, Airflow!"' ) task1
4. プロジェクトを再起動する
% docker-compose down % docker-compose up -d
再度ブラウザで「http://127.0.0.1:8080」を開いてログインします。

5. DAG を実行する
で、「my_dag」を実行してみます。

実行が完了したらログを見てみます。

「Hello Airflow!」と表出されています。新たに追加した DAG がきちんと機能しています。
[2023-05-23, 08:36:59 UTC] {subprocess.py:75} INFO - Running command: ['/bin/bash', '-c', 'echo "Hello, Airflow!"'] [2023-05-23, 08:36:59 UTC] {subprocess.py:86} INFO - Output: [2023-05-23, 08:36:59 UTC] {subprocess.py:93} INFO - Hello, Airflow! [2023-05-23, 08:36:59 UTC] {subprocess.py:97} INFO - Command exited with return code 0