現在、DockerイメージのほとんどはDebianベースです # cat /etc/issue Debian GNU/Linux 9 \n \l Dockerコンテナはバックグラウンドサービスをサポートしていません。systemctl service crontabなどのバックグラウンドサービスは、 このようなソリューションを実装するには、それを開始するための独自のエントリポイント スクリプトを作成する必要があります。この記事では、Debian ベースの Docker コンテナでスケジュールされたタスクを設定する方法について説明します。 ケースの背景 フロントエンドプロジェクトをデプロイし、nginx イメージを使用しました。公式イメージは Debian ベースなので、Alpine と比べてサイズがあまり変わらないため、コンテナシステムには Debian を使用しました。 Dockerfileは次のようになります nginx:1.15.10より メンテナー Ryan Miao コピーsources.list /etc/apt/sources.list apt-get update && apt-get install -y net-tools procps curl wget vim telnet cron を実行、 && apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* mkdir -p /data/log/nginx && mkdir -p /data/web && rm /etc/nginx/conf.d/default.conf を実行します。 default.conf を /etc/nginx/conf.d/ に追加します。 index.html /data/web/ を追加します。 clean_log.sh /data/ を追加します。 clean-cron をコピー /etc/cron.d/clean-cron chmod 755 /data/clean_log.sh && crontab /etc/cron.d/clean-cron を実行します。 エントリポイント nginx && cron && /bin/bash おそらく、cron をインストールし、次に nginx の設定を置き換え、静的ファイルをコピーし、最後に nginx を起動して cron を起動することになります。 時間制限のあるタスクが存在する理由を説明しましょう。スケジュールされたクリーンアップ スクリプトがあることがわかります。nginx 自体はログ処理モジュールを提供していないため、クリーンアップ スクリプトがあります。クリーンアップ スクリプトは定期的に実行する必要があるため、スケジュールされたタスクがあり、その後、Docker コンテナーがサービスをサポートしていないことがわかります。 一般的には、いくつかのステップがあります。 インストール
crontabに追加
docker の起動時に cron を開始する
ps、サイズが小さいため、画像マトリックスとして alpine を好む人はまだたくさんいます。しかし、この Linux コマンドは実に馴染みのないものです。 要約する 上記は、Debian Docker コンテナに crontab スケジュール タスクを追加する方法について紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.11 のインストールと設定方法のグラフィックチュートリアル
>>: MySQL 8.0.12 winx64 解凍バージョンのインストール グラフィック チュートリアル
プログラムは上から下へ順番に実行され、いくつかの制御文によって実行経路を変更することができます。制御...
01. コマンドの概要seq コマンドは整数のシーケンスを生成するために使用されます。 02. コマ...
1 BEM命名標準とはBem は、ブロック、要素、修飾子の略語であり、Yandex チームによって...
序文テストを行う際、大量のデータによる負荷に耐えるプロジェクトの能力をテストするために、通常はテスト...
このプロジェクトでは MySQL を使用する必要があります。これまで Windows では常に確実に...
1. 何ですかCSS アニメーションは、CSS を使用して拡張マークアップ言語 (XML) 要素をア...
目次なぜ最適化するのですか? ?どこから始めますか? ?解決策は何ですか? ? ?どうやって選ぶ? ...
1. インストール前の準備データベースのバージョンを確認するコマンド: mysql --versio...
CSS命名規則 ヘッダー: ヘッダーコンテンツ: コンテンツ/含むフッターナビゲーション: navサ...
目次1. psutilパッケージをインストールする次に、オペレーティングシステム内のすべてのサービス...
以下のように表示されます。 bb_sbからa1、a2、a1+a2 a、a1*a2 b、a1*1.0/...
この記事の例では、el-tableを使用して列と行を動的にマージするVueの具体的なコードを参考まで...
この記事の例では、タブ効果を記述するためのJSの具体的なコードを参考までに共有しています。具体的な内...
このチュートリアルでは、参考のためにmysqlインストーラコミュニティ8.0.12.0のインストール...
序文プログラミング言語には通常、さまざまな隠されたトリックが含まれており、これらのトリックを上手に使...