我有自己的应用程序,该应用程序已被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上运行。
谢谢
答案 0 :(得分:0)
由于Dockerfile中有RUN bundle exec whenever --update-crontab
,因此它将在使用Dockerfile构建的每个映像上运行。
您有几种选择:
创建单独的服务cron-service
该服务可以运行cron(使用您现在用于cron-service
的Dockerfile)并创建一个新的Dockerfile(删除cron RUN命令),因此所有操作均按预期进行,并且cron仅运行一次... < / p>