【发布时间】:2021-06-16 10:33:59
【问题描述】:
我正在使用官方 docker yml 文件运行气流。 official documentation
我使用以下 dockerfile 扩展了我的图像:
FROM apache/airflow:2.0.2
USER root
RUN apt-get update
USER airflow
RUN pip install --no-cache-dir plotly==4.9
RUN pip install --no-cache-dir svglib==1.1.0
RUN pip install --no-cache-dir fpdf2
这样做导致我的调度程序容器运行不正常
我该如何解决这个问题?
unhealth scheduler container after extending the official image
这是我从容器中获取的日志:
{
"Status": "unhealthy",
"FailingStreak": 7,
"Log": [
{
"Start": "2021-06-16T12:53:53.059066625Z",
"End": "2021-06-16T12:53:53.843581477Z",
"ExitCode": 2,
"Output": "\nairflow command error: argument GROUP_OR_COMMAND: invalid choice: 'jobs' (choose from 'celery', 'cheat-sheet', 'config', 'connections', 'dags', 'db', 'info', 'kerberos', 'kubernetes', 'plugins', 'pools', 'providers', 'roles', 'rotate-fernet-key', 'scheduler', 'sync-perm', 'tasks', 'users', 'variables', 'version', 'webserver'), see help above.\nusage: airflow [-h] GROUP_OR_COMMAND ...\n\npositional arguments:\n GROUP_OR_COMMAND\n\n Groups:\n celery Celery components\n config View configuration\n connections Manage connections\n dags Manage DAGs\n db Database operations\n kubernetes Tools to help run the KubernetesExecutor\n pools Manage pools\n providers Display providers\n roles Manage roles\n tasks Manage tasks\n users Manage users\n variables Manage variables\n\n Commands:\n cheat-sheet Display cheat sheet\n info Show information about current Airflow and environment\n kerberos Start a kerberos ticket renewer\n plugins Dump information about loaded plugins\n rotate-fernet-key\n Rotate encrypted connection credentials and variables\n scheduler Start a scheduler instance\n sync-perm Update permissions for existing roles and DAGs\n version Show the version\n webserver Start a Airflow webserver instance\n\noptional arguments:\n -h, --help show this help message and exit\n"
}
提前致谢!
【问题讨论】:
-
请仔细阅读您提供的链接中的所有信息,其中有一句话:此文件使用最新的 Airflow 映像 (apache/airflow)。如果您需要安装新的 Python 库或系统库,您可以自定义和扩展它。
-
@Howaboutnope 我确实经历了这一点并扩展了我的图像,但是,在构建了 compose 文件之后,我的计划容器变得不健康了。
-
从不健康的容器中添加更多日志
docker inspect --format "{{json .State.Health }}" <container name> | jq -
@JonSG 将日志添加到问题中。