複数のWebサイトを展開するために使用するalpine/nginx/php-fpmのベースイメージを作成しました。docker runコマンドでcronタスクをインストール
各サイトには独自のcronジョブがあります。
コンテナが初期化されたときにdocker runコマンドで起動するカスタムcronジョブを作成するにはどうすればよいですか?
複数のWebサイトを展開するために使用するalpine/nginx/php-fpmのベースイメージを作成しました。docker runコマンドでcronタスクをインストール
各サイトには独自のcronジョブがあります。
コンテナが初期化されたときにdocker runコマンドで起動するカスタムcronジョブを作成するにはどうすればよいですか?
コンテナごとに1つのサービスを実行するというマイクロサービスアーキテクチャとドッカーの考え方を考えれば、各コンテナにcron
をインストールする代わりに、dockerhostのcron
を使用してコンテナのタスクをスケジュールします。
ことを行うためには、使用を開始し、その後正しくコンテナに名前を付ける:
docker exec <container name> /path/to/shell /path/to/script
テスト上記のコマンドを、そして作品は予想通り、dockerhostにcron
を使用して、それをスケジュールする場合場合。
PHPスクリプトを実行するには、PHPバイナリのパスも必要ないでしょうか? この作品のようなものはありますか? 'docker exec
それは正しいです。もしあなたがロギングを必要としなければbashを省略することもできます。 –
それをテストしました。それは動作しますが、私はbashを削除する必要がありました。 –
もちろん、そこにはある種のプロセスマネージャがあります... cronを追加してください。 – user2105103