【问题标题】:How to run cronjobs and rackup如何运行 cronjobs 和 rackup
【发布时间】:2019-02-07 18:30:43
【问题描述】:

我的问题是在 docker 中为 ruby​​ sinatra 运行 cron 和 rackup 服务时。

文件 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 时,只有一个服务可以运行

【问题讨论】:

    标签: ruby docker sinatra alpine


    【解决方案1】:

    Docker 容器正在运行,而其中的主进程正在运行。所以如果你想在 docker 容器中运行两个服务,其中一个必须在后台模式下运行。

    所以,CMD 层应该如下:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-01
      • 2012-10-29
      • 2011-06-08
      • 1970-01-01
      • 2020-03-01
      相关资源
      最近更新 更多