Python docker内部的cronjob-can';无法捕获日志
我试图在docker容器内运行cronjob,并且来自docker日志my_container或来自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
/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 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
从你提到的第一个链接中引用了这个。这应该行得通