在localhost中从Airflow Docker容器运行bash脚本,可以按照以下步骤进行操作:
docker-compose.yaml
的文件,并在其中定义Airflow服务和相关配置。示例配置如下:version: '3'
services:
airflow:
image: apache/airflow:2.1.2
ports:
- "8080:8080"
volumes:
- ./dags:/opt/airflow/dags
- ./logs:/opt/airflow/logs
- ./scripts:/opt/airflow/scripts
environment:
- AIRFLOW__CORE__LOAD_EXAMPLES=False
在上述配置中,我们将本地的./dags
目录映射到Airflow容器的/opt/airflow/dags
目录,将./logs
目录映射到/opt/airflow/logs
目录,将./scripts
目录映射到/opt/airflow/scripts
目录。这样可以方便地在本地编辑和管理相关脚本文件。
docker-compose.yaml
文件的目录,并运行以下命令启动Airflow容器:docker-compose up -d
这将下载并启动Airflow容器。
http://localhost:8080
来访问Airflow的Web界面。./scripts
目录下创建一个bash脚本文件,例如test_script.sh
,并在其中编写所需的脚本逻辑。from airflow import DAG
from airflow.operators.bash import BashOperator
from datetime import datetime
default_args = {
'start_date': datetime(2022, 1, 1),
}
with DAG('bash_script_example', schedule_interval='@daily', default_args=default_args, catchup=False) as dag:
run_bash_script = BashOperator(
task_id='run_bash_script',
bash_command='bash /opt/airflow/scripts/test_script.sh',
)
在上述代码中,我们创建了一个名为bash_script_example
的DAG,并定义了一个名为run_bash_script
的BashOperator任务,其中bash_command
设置为运行/opt/airflow/scripts/test_script.sh
脚本。
请注意,上述步骤中的路径和文件名仅作为示例,您可以根据实际情况进行调整。此外,还可以根据具体需求配置Airflow的其他参数和组件,例如使用不同的调度间隔、添加其他任务等。
腾讯云相关产品:腾讯云容器服务 TKE(https://cloud.tencent.com/product/tke)
领取专属 10元无门槛券
手把手带您无忧上云