Как запустить Cronjobs и Rackup - PullRequest
       14

Как запустить Cronjobs и Rackup

0 голосов
/ 07 февраля 2019

Моя проблема - при запуске службы cron и rackup для ruby ​​sinatra в docker.

файл cronjobs * * * * * cd /app && rake parser >> cron.log 2>&1

файл Dockerfile


RUN apk update && apk upgrade
RUN apk add --update build-base \ 
mariadb-dev bash dcron

RUN gem install bundler 

WORKDIR /app
COPY Gemfile .
RUN bundle install && bundle clean
COPY .  /app
COPY cronjobs /etc/crontabs/root

EXPOSE 80

CMD crond -f && rackup --host 0.0.0.0 -p 80

только при запуске dockerфункционирует один сервис

1 Ответ

0 голосов
/ 08 февраля 2019

Контейнер Docker работает во время работы основного процесса внутри него.Поэтому, если вы хотите запустить две службы внутри док-контейнера, один из них должен быть запущен в фоновом режиме.

Итак, слой CMD должен быть следующим:

CMD ( crond -f & ) && rackup --host 0.0.0.0 -p 80
...