【问题标题】:cronjob inside docker - can't capture logsdocker内的cronjob - 无法捕获日志
【发布时间】:2021-08-16 22:25:29
【问题描述】:

我正在尝试在 docker 容器中运行 cronjob,以及来自 docker logs my_container/var/log/cron.log 的日志(使用 python logging 创建)。两者都不起作用。我尝试了一堆我在 stackoverflow 中找到的解决方案。

这是我的 Dockerfile:

FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04

ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Minsk
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update && apt-get install -y \
        python3-dev \
        python3-tk \
        python3-pip \
        libglib2.0-0\
        libsm6 \
        postgresql-server-dev-all \
        postgresql-common \
        openssh-client \
        libxext6 \
        nano \
        pkg-config \
        rsync \
        cron \
        && \
    apt-get clean && \
    apt-get autoremove && \
    rm -rf /var/lib/apt/lists/*
RUN pip3 install  --upgrade  setuptools
RUN pip3 install numpy
ADD requirements.txt /requirements.txt
RUN pip3 install -r /requirements.txt && rm /requirements.txt

RUN touch /var/log/cron.log
COPY crontab /etc/cron.d/cjob
RUN chmod 0644 /etc/cron.d/cjob

ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
ENV PYTHONUNBUFFERED 1

ADD . /code
WORKDIR /code
COPY ssh_config /etc/ssh/ssh_config

CMD cron -f

这就是我运行它的方式:

nvidia-docker run -d \
    -e DISPLAY=unix$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -v /media/storage:/opt/images/ \
    -v /home/user/.aws/:/root/.aws/ \
    --net host \
    my_container

我尝试了不同的方法,例如:

但我没有得到任何日志。

【问题讨论】:

    标签: python docker cron


    【解决方案1】:

    如果您尝试从那里执行某些操作,请将您的 chmod 代码更改为 755。您可能还想添加一个 -R 参数。

    接下来,将以下内容添加到 chmod 层之前的 Dockerfile。

    # Symlink the cron to stdout
    RUN ln -sf /dev/stdout /var/log/cron.log
    

    并将其添加为您的最后一层

    # Run the command on container startup
    CMD cron && tail -F /var/log/cron.log 2>&1
    

    从您提到的第一个链接中引用了此内容。这应该可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-18
      • 2012-01-06
      • 2022-09-26
      • 2018-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多