現在、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. gccのインストールnginxをインストールするには、まず公式サイトからダウンロードし...
1. CDNこれは、Web サイト上で最もよく使用される加速機能です。分散サーバー レイアウトによ...
1. ダウンロードリンクをダウンロードするダウンロードをクリックします。Oracle アカウントにロ...
目次目的npm init および package.json ファイルモジュールのインストールと管理モ...
目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...
長い移植と情報検索の期間を経て、組み込みDockerの問題を解決することができました。インターネット...
方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...
key_lenの意味MySQL では、次に示すように、explain を使用して SQL ステートメ...
この記事では、MySQL 8.0.12のインストールチュートリアルを参考までに紹介します。具体的な内...
この記事では、例を使用して MYSQL パフォーマンス アナライザー EXPLAIN の使用方法を説...
3D効果を実現するには、主にCSSのpreserve-3dプロパティとperspectiveプロパテ...
目次1. ブラウザのクッキーの値を取得する2. RGBを16進数に変換する3. クリップボードにコピ...
公式サイトをダウンロードまず公式ウェブサイトにアクセスしてMySQLをダウンロードしてくださいリンク...
この記事では、例を使用して、MySQL データベースの基本的な知識と操作について説明します。ご参考ま...
この記事の例では、画像デジタル時計を実現するためのJSの具体的なコードを参考までに共有しています。具...