【问题标题】:How to get logs from inside the container executed using DockerOperator?(Airflow)如何从使用 DockerOperator 执行的容器内部获取日志?(气流)
【发布时间】:2020-05-01 01:38:07
【问题描述】:

我遇到了 DockerOperator 的日志记录问题。

我正在使用 DockerOperator 在 docker 容器内运行 python 脚本,我需要气流从容器内运行的 python 脚本中吐出日志。 Airlfow 将作业标记为成功,但容器内的脚本失败,我不知道发生了什么,因为我无法正确查看日志。除了按照docs 中的建议将tty 选项设置为True 之外,还有其他方法可以为DockerOperator 设置日志记录吗?

【问题讨论】:

    标签: python-3.x docker airflow


    【解决方案1】:

    您似乎可以将日志推送到XComs,但默认情况下它是关闭的。首先,您需要传递xcom_push=True 以便它至少开始将最后一行输出发送到 XCom。然后另外,您可以通过xcom_all=True 将所有输出发送到 XCom,而不仅仅是第一行。

    也许不是最方便放置调试信息的地方,但至少在您单击任务时的 XCom 选项卡中,或者有一个可以列出和过滤 XCom 的页面(在浏览下)时,它在 UI 中很容易访问。

    来源:https://github.com/apache/airflow/blob/1.10.10/airflow/operators/docker_operator.py#L112-L117https://github.com/apache/airflow/blob/1.10.10/airflow/operators/docker_operator.py#L248-L250

    【讨论】:

    • 甜!!会试一试。目前任何日志都应该没问题。但这似乎不是一个好的选择
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 2018-05-28
    相关资源
    最近更新 更多