Docker-Compose部署Airflow后Web UI仍显示UTC时区求助
解决Airflow Web UI时区显示UTC的问题
针对你用docker-compose部署Airflow后,环境变量已正确设置但Web UI仍显示UTC的情况,可以尝试以下步骤:
显式设置UI时区:虽然官方文档说明留空会继承核心时区,但部分Airflow版本可能存在继承逻辑的bug。直接将
AIRFLOW__WEBSERVER__DEFAULT_UI_TIMEZONE设置为与AIRFLOW__CORE__DEFAULT_TIMEZONE相同的值,比如'Europe/***',不要留空。修改后的环境变量配置如下:&airflow-common build: . environment: &airflow-common-env AIRFLOW__CORE__DEFAULT_TIMEZONE: 'Europe/***' AIRFLOW__WEBSERVER__DEFAULT_UI_TIMEZONE: 'Europe/***' TZ: 'Europe/***'重启所有Airflow容器:修改环境变量后,必须重启所有相关容器才能让配置生效。执行命令:
docker-compose down && docker-compose up -d验证容器内实际配置:进入webserver容器,检查Airflow实际加载的配置是否正确:
docker exec -it <webserver-container-id> bash cat $AIRFLOW_HOME/airflow.cfg | grep -E "(DEFAULT_TIMEZONE|UI_TIMEZONE)"确认输出的
default_timezone和default_ui_timezone都为你设置的'Europe/***'。检查容器系统时区:除了Airflow的环境变量,还要确保容器系统时区正确:
docker exec -it <webserver-container-id> bash cat /etc/timezone ls -l /etc/localtime确保
/etc/timezone内容为'Europe/***',/etc/localtime指向对应时区的文件(比如/usr/share/zoneinfo/Europe/***)。如果不正确,可以在Dockerfile中添加时区配置:RUN apt-get update && apt-get install -y tzdata ENV TZ=Europe/*** RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone清空浏览器缓存:浏览器可能缓存了旧的UI时区设置,尝试强制刷新页面(Ctrl+F5)或清空浏览器缓存后重新访问Airflow UI。
内容的提问来源于stack exchange,提问作者dimButTries
相关产品推荐
相关产品推荐

