Airflow Web Server Docker启动失败:8080端口已占用问题求助
解决Airflow Docker容器启动时8080端口占用问题
1. 彻底清理Airflow相关Docker资源
- 执行
docker-compose down -v,该命令会停止并删除所有Airflow容器,同时清理关联的卷和网络,彻底重置运行状态。 - 如果上述命令无效,强制删除所有带Airflow标识的容器:
docker rm -f $(docker ps -aq | grep airflow) - 清理未使用的Docker网络(确认无其他依赖容器时执行):
docker network prune
2. 修正docker-compose.yml的端口配置
确保只有airflow-webserver服务配置主机到容器的8080端口映射,其他服务(scheduler、triggerer、worker)不需要对外暴露8080端口,示例正确配置如下:
version: '3.8' services: airflow-webserver: image: apache/airflow:2.5.1 # 其他配置项... ports: - "8080:8080" # 仅webserver需要映射主机端口 airflow-scheduler: image: apache/airflow:2.5.1 # 其他配置项... # 不要添加ports映射8080 airflow-triggerer: image: apache/airflow:2.5.1 # 其他配置项... # 不要添加ports映射8080 airflow-worker: image: apache/airflow:2.5.1 # 其他配置项... # 不要添加ports映射8080
3. 重启Docker Daemon解决端口缓存问题
如果清理后仍报错,大概率是Docker端口映射缓存异常,重启Docker服务即可:
- Mac:点击顶部菜单栏Docker图标 → 选择Restart
- 重启完成后重新执行
docker-compose up airflow-webserver
4. 临时更换Webserver映射端口
如果需要快速启动服务,可以修改webserver的主机映射端口,比如改为8081:
在docker-compose.yml中更新配置:
airflow-webserver: ports: - "8081:8080"
执行启动命令后,通过http://localhost:8081访问Airflow控制台。
内容的提问来源于stack exchange,提问作者Austin Jackson
相关产品推荐
相关产品推荐

