在运行Airflow docker compose之前,确保将使用的端口未被占用。运行以下命令查看端口占用情况:
netstat -tuln
如果某个端口已被占用,请将docker-compose.yml文件中该端口的映射端口更改为可用端口。
有时,Docker环境中可能会出现一些问题,需要清理Docker环境。运行以下命令清理Docker环境:
docker system prune -a
有时,可能是因为Airflow容器内存不足导致卡住。您可以通过增加资源限制来解决此问题。在docker-compose.yml文件中,增加以下配置可增加内存限制:
environment:
- AIRFLOW__CORE__EXECUTOR=LocalExecutor
- AIRFLOW__CORE__SQL_ALCHEMY_CONN=postgresql+psycopg2://airflow:airflow@postgres:5432/airflow
# # Increase resources
- 'AIRFLOW__CORE__LOAD_EXAMPLES=False'
# - 'AIRFLOW__CORE__SQL_ALCHEMY_POOL_SIZE=5'
- 'AIRFLOW__WEBSERVER__WORKERS=4'
# # Reduce parallelism (see below)
# - 'AIRFLOW__CORE__PARALLELISM=4'
# - 'AIRFLOW__CORE__DAG_CONCURRENCY=4'
- 'AIRFLOW__WEBSERVER__THREADS=2'
# - 'AIRFLOW__SCHEDULER__MAX_THREADS=2'
mem_limit = '1024m'
# cpu_shares = 1024
volumes = [
'./dags:/usr/local/airflow/dags',
'./logs:/usr/local/airflow/logs',
'./plugins:/usr/local/airflow/plugins',
]