【发布时间】:2020-05-16 14:54:36
【问题描述】:
这是我正在尝试创建的图像的 Dockerfile。非root用户在本地机器上模拟主机用户。
FROM ubuntu:bionic
RUN apt-get -yqq update && apt-get -yqq install cron passwd openssl strace
RUN groupadd -g 1000 hostuser && useradd -l -u 1000 -m -s /bin/bash -p $(openssl passwd -1 test1) -g hostuser hostuser
COPY hello-cron /etc/cron.d/hello-cron
RUN sudo chmod 0644 /etc/cron.d/hello-cron
COPY hello-cron-root /etc/cron.d/hello-cron-root
RUN sudo chmod 0644 /etc/cron.d/hello-cron-root
RUN touch /var/log/cron.log
COPY cron.allow /etc/cron.allow
#CMD /usr/sbin/cron -L 15 && tail -f /var/log/cron.log
CMD strace /usr/sbin/cron -f -L 15
这是 hello-cron 文件:
* * * * * hostuser echo "Hello World" >> /var/log/cron.log 2>&1
这是 hello-cron-root 文件:
* * * * * root echo "Hello World Root" >> /var/log/cron.log 2>&1
这是文件 cron.allow:
hostuser
当我构建和执行映像时,只有在 root 下执行的作业会提供一些输出。 strace 没有太大帮助。有什么想法吗?
很遗憾,我不能使用 Alpine 或其他东西。我需要使用 Ubuntu Bionic 来完成这项工作。
【问题讨论】: