如何解决如何在Windows的Docker桌面上设置cron作业?
我正在尝试在Windows的Docker桌面的硒容器中运行cron作业。因为我认为我遇到了几个问题,所以我很难弄清楚哪些细节很重要,因此我将尽可能地做到透彻。
环境:
- 用于Windows的Docker桌面(为避免行尾出现问题,我在Dockerfile中创建了cron字符串)
- Selenium-Chrome(需要注意的是,大多数事情都是在seluser下而不是root下运行。我之所以这样说,是因为其他一些解决方案因此无法工作)
问题:
我无法在cron工作中运行python
我检查过的相关堆栈溢出链接:
有很多,但是this是主要的。
例如,此代码段记录到适当显示的日志文件中:
FROM selenium/standalone-chrome
COPY . /home/seluser/
# # install selenium
RUN echo "**** install packages ****" && \
sudo apt-get update && \
sudo apt-get install -y cron && \
echo "**** cleanup ****" && \
sudo apt-get clean && \
sudo rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# Create the log file to be able to run tail
RUN touch /home/seluser/cron.log
# Setup cron job
RUN echo "* * * * * echo "Hello,World!" >> /home/seluser/cron.log" | sudo crontab
# Run the command on container startup
CMD sudo cron && tail -f /home/seluser/cron.log
但这不是:
FROM selenium/standalone-chrome
COPY . /home/seluser/
# # install selenium
RUN echo "**** install packages ****" && \
sudo apt-get update && \
sudo apt-get install -y cron && \
echo "**** cleanup ****" && \
sudo apt-get clean && \
sudo rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# Create the log file to be able to run tail
RUN touch /home/seluser/cron.log
# Setup cron job
RUN echo "* * * * * /usr/bin/python3 -c print("Hello world") >> /home/seluser/cron.log" | sudo crontab
# Run the command on container startup
CMD sudo cron && tail -f /home/seluser/cron.log
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。