CRON只能在一个Docker容器上运行

时间:2019-07-03 15:21:08

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

我有自己的应用程序,该应用程序已被Docker化并在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上运行。

谢谢

1 个答案:

答案 0 :(得分:0)

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

您有几种选择:

创建单独的服务cron-service

该服务可以运行cron(使用您现在用于cron-service的Dockerfile)并创建一个新的Dockerfile(删除cron RUN命令),因此所有操作均按预期进行,并且cron仅运行一次... < / p>