Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python docker内部的cronjob-can';无法捕获日志_Python_Docker_Cron - Fatal编程技术网

Python docker内部的cronjob-can';无法捕获日志

Python docker内部的cronjob-can';无法捕获日志,python,docker,cron,Python,Docker,Cron,我试图在docker容器内运行cronjob,并且来自docker日志my_container或来自/var/log/cron.log的日志(使用pythonlogging创建)。两者都不起作用。我尝试了在stackoverflow中找到的一系列解决方案 这是我的Dockerfile: FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04 ENV DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Minsk RUN

我试图在docker容器内运行cronjob,并且来自docker日志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
我尝试了不同的方法,例如:


但是我没有任何日志。

如果您试图从那里执行某些操作,请将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
从你提到的第一个链接中引用了这个。这应该行得通