現在、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 解凍バージョンのインストール グラフィック チュートリアル
目次前面に書かれた解決策 1: グローバル スタイル オーバーライドを使用する (フロントエンドに共...
dockerスタックによってデプロイされたイメージサービスを使用すると、イメージを入力した後、理論的...
1.backup.shスクリプトファイルを作成する #!/bin/sh ソースフォルダ=/データ ...
この記事では、参考までにMySQL 5.7.21のインストールチュートリアルを紹介します。具体的な内...
以前書いた内容が詳細さに欠けていたため、今回は修正・補足しました。ただし、以前の MySQL バージ...
フロントエンド開発者が必ず知っておくべきケースとして、タブバーの切り替え効果があります。タブバー自体...
ロゴの最適化: 1.ロゴ画像はできるだけ小さくしてください。 2. 一般的には背景として配置されます...
1. docker.serviceファイルを編集する: : vi /usr/lib/systemd/...
目次角度成し遂げる呼び出し順序知らせイオニックionic はページのライフサイクルをどのように処理し...
jQueryプラグインの毎日の積み重ねメニュー、参考までに、具体的な内容は次のとおりです。スタックメ...
この記事では、ボトムクエリ機能を実装するためのVueの具体的なコードを例として紹介します。具体的な内...
実際、XHTML 1.0 は、Transitional DOCTYPE と Strict DOCTY...
目次1. 外部キー制約外部キーとは何ですか?外部キーを使用する条件:外部キーの定義構文は次のとおりで...
1. ボックスを中央に配置するいくつかの方法を記録します。 1.0、マージン幅固定、高さ中央配置。 ...
最近 CSS を勉強していたとき、 2 つの CSS プロパティだけを使用して全画面スクロール効果を...