2016-08-31 11 views
-1

Best practices for running Dockerガイドでは、ドッカーコンテナごとに1つのプロセスしか実行してはならないことが記載されています。 Ubuntuには、毎日実行するapache-httpdに関連するいくつかのcron-jobがあります(/etc/cron.daily/apache2にあります)。dockerイメージでapache固有のcron-jobsを実行しないでください。

公式リポジトリのapache-docker-image(here)を使用すると、これらのcronジョブは実行されず、httpdプロセスのみが起動され、cronは実行されません。

上記のcron-jobを実行してはいけませんか? 「cron-docker-image」がApacheにアクセスする必要があるため、ベストプラクティスガイドで提案されているように、別のドッカーイメージからこのcron-jobsを実行する方法がわかりません。 cron-jobsを正しく実行するためには、

答えて

0

基本的なApacheの場合、実行するcronジョブはありません。

実行するcronジョブがある場合は、「正解」はありません。

毎日実行して一定時間だけ実行する場合は、確かにcronを使用する代わりに実行するようにスケジュールすることができます。

より定期的に実行するか、AWSラムダのようなスケジューラを持っていない場合は、ウェブサーバーにcronとして実行させるベストプラクティスではないので、自分のコンテナをビルドする必要がありますそれを処理するためのApacheの。

あなたの本当の問題は、簡単にGoogleがもたらした "どのように私は、cronジョブを実行しない" の場合:

https://github.com/aptible/docker-cron-example

https://hub.docker.com/r/hamiltont/docker-cron/

https://getcarina.com/docs/tutorials/schedule-tasks-cron/

をあなただけで実行するために、これらを修正します背景は&またはnohup

何を試しましたか?

+0

はい、それは私が、私はcronジョブを実行してみましょう可能性がある中で自分のコンテナを、作ることができることを、明らかだが、 - すでに私の質問で述べたように - それは、実行プロセスが1つだけ(玲中を見てみましょうするためにドッキングウィンドウコンテナのベストプラクティスです質問)。 – Tarator

+0

私はあなたのコンテナでcronジョブを実行して、他の提案としてタスクをスケジューリングしないという答えは、あなたのコンテナでcronジョブを実行することです。あなたは例を探していますか?あなたの質問は、 "どのように私はcronジョブを実行するか"については不明です。 –

+0

あなたの助けに感謝して、それを感謝しなさい!問題は、コンテナ内でcron-jobsを実行する方法ではありません。私はそれを達成する方法を知っています。 私の質問はもっとある、他(のcron-専用)複数のプロセスが実行していないはずなので、Apacheのコンテナにリンクされている-container、(apache2のとcronからApache専用-cronジョブを実行する方法)を、[ベストプラクティス](https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#/run-onlyone-process-per-container)に関して、 .. – Tarator

関連する問題