Это 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 Bioni c.