Я установил crontabs на докер и добавил двух пользователей root ,asticsearch в файл cron.allow построчно в /etc/cron.allow.
Это позволяет мне вставлять cronjobs для двух пользователей root ,asticsearch.
Для пользователя root запускается crond, но для пользователяasticsearch crond не запускается и выдает ошибку: crond: не удается открыть или создать /var/run/crond.pid: разрешениеdenied
Вот мой файл докера:
FROM docker.elastic.co/elasticsearch/elasticsearch:6.6.0
ENV PATH=$PATH:/usr/share/elasticsearch/bin
RUN yum -y update
RUN yum -y install crontabs
RUN echo "root" > /etc/cron.allow
RUN echo "elasticsearch" >> /etc/cron.allow
RUN echo "" >> /etc/cron.allow
RUN chmod -R 755 /etc/cron.allow
RUN cd /etc/ && cat cron.allow && cat cron.deny
RUN chown -R elasticsearch /etc/cron.d
RUN chmod -R 755 /etc/cron.d
RUN chown -R elasticsearch /var/spool/cron
RUN chmod -R 755 /var/spool/cron
RUN chown -R elasticsearch /etc/crontab
RUN chmod -R 755 /etc/crontab
RUN chown -R elasticsearch /etc/cron.d
RUN chmod -R 755 /etc/cron.d
COPY ./purge.sh /usr/share/elasticsearch
RUN ls -l /etc/crontab
RUN ls -l /etc/cron.d
RUN touch /usr/share/elasticsearch/cron.log
ADD ./cron /etc/cron.d/cron_test
RUN chmod 0755 /etc/cron.d/cron_test
RUN cd /etc/cron.d && cat cron_test
RUN chown -R elasticsearch /etc/cron.d/cron_test
RUN ls -l /etc/cron.d/cron_test
USER elasticsearch
RUN crontab /etc/cron.d/cron_test
RUN crontab -l
RUN chmod 600 /var/spool/cron/elasticsearch
ENTRYPOINT crond start && pgrep cron && tail -f && tail -f /usr/share/elasticsearch/cron.log/usr/share/elasticsearch/cron.log
CMD elasticsearch
RUN cd /var/run && ls
EXPOSE 9200 9300
сборка успешна, но во время работы: $ docker run -p 9200: 9200 -p 9300: 9300 -e "discovery.type = single-node "crontabtest crond: не удается открыть или создать /var/run/crond.pid: разрешение запрещено
как разрешить пользователюasticsearch запускать службу crond?