【问题标题】:CRON to run on only one Docker ContainerCRON 仅在一个 Docker 容器上运行
【发布时间】:2019-07-04 13:19:33
【问题描述】:

我的应用程序是 Dockerized 并在 AWS 实例上运行。

在我的 DockerFile 中,我有以下语句来运行 CRON

RUN bundle exec whenever --update-crontab

AWS 控制台配置为自动可扩展模式,根据配置的所需实例数量,我为我的应用程序运行了 3 个容器。 我的 CRON 在所有容器中运行都有问题。

docker exec -it <container-id> service cron status

* cron is running

出现在所有 3 个容器中。

如何将 CRON 配置为仅在一个 Container 上运行。

谢谢

【问题讨论】:

    标签: docker amazon-ec2 cron docker-compose dockerfile


    【解决方案1】:

    由于您的 Dockerfile 中有 RUN bundle exec whenever --update-crontab,它将在使用 Dockerfile 构建的每个映像上运行。

    你有几个选择:

    创建一个单独的服务cron-service

    此服务可以运行 cron(使用您现在拥有的 Dockerfile 用于 cron-service)并创建一个新的 Dockerfile(删除 cron RUN 命令),因此一切都按预期运行,并且 cron 只运行一次...

    【讨论】:

    • 将在少数几个选项中更新答案
    猜你喜欢
    • 2021-03-04
    • 1970-01-01
    • 2018-08-29
    • 2021-09-01
    • 2019-10-13
    • 2019-02-17
    • 2018-12-27
    • 2021-05-06
    • 1970-01-01
    相关资源
    最近更新 更多