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
