Docker コンテナは、起動時に、たとえば ssh または apache デーモン サービスなどの単一のプロセスを開始します。 しかし、マシン上で複数のサービスを起動しなければならないことがよくあります。これを行うには多くの方法があります。最も簡単な方法は、複数の起動コマンドを起動スクリプトに入れて、起動時にスクリプトを直接起動することです。別の方法は、プロセス管理ツールをインストールすることです。 このセクションでは、プロセス管理ツール スーパーバイザーを使用して、コンテナー内の複数のプロセスを管理します。 Supervisor を使用すると、実行するプロセスをより適切に制御、管理、再起動できます。ここでは、ssh サービスと apache サービスを同時に使用する方法を説明します。 構成 まずはDockerfileを作成します。内容と各部については以下で説明します。 ubuntu:13.04から メンテナー [email protected] 実行 echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list apt-get updateを実行する apt-get upgrade -yを実行します ssh、apache、supervisorをインストールする apt-get install -y openssh-server apache2 supervisorを実行します。 実行 mkdir -p /var/run/sshd mkdir -p /var/log/supervisorを実行します。 ここでは、3 つのソフトウェアがインストールされ、ssh およびスーパーバイザ サービスの正常な動作に必要な 2 つのディレクトリが作成されます。
supervisord 構成ファイルを追加し、対応するディレクトリにコピーします。
ここでは、ポート 22 と 80 をマップし、supervisord の実行可能パスを使用してサービスを開始します。 スーパーバイザー構成ファイルの内容 [監督者] ノーデーモン=true [プログラム:sshd] コマンド=/usr/sbin/sshd -D [プログラム:apache2] コマンド = /bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND" 構成ファイルにはディレクトリとプロセスが含まれています。最初のセクション supervsord はソフトウェア自体を構成し、nodaemon パラメータを使用して実行します。 2 番目のセクションには、制御される 2 つのサービスが含まれています。各セクションには、サービス ディレクトリとサービスを開始するためのコマンドが含まれています。 使い方 画像を作成します。
スーパーバイザー コンテナを起動します。 $ sudo docker run -p 22 -p 80 -t -i test/supervisords 2013-11-25 18:53:22,312 CRIT スーパーバイザーがルートとして実行中 (構成ファイルにユーザーなし) 2013-11-25 18:53:22,312 警告 解析中に余分なファイル「/etc/supervisor/conf.d/supervisord.conf」が含まれていました 2013-11-25 18:53:22,342 INFO supervisord が pid 1 で起動しました 2013-11-25 18:53:23,346 INFO が生成されました: pid 6 の 'sshd' 2013-11-25 18:53:23,349 INFO が生成されました: pid 7 の 'apache2' 作成したコンテナを起動するには、docker run を使用します。複数の -p を使用して複数のポートをマップし、ssh および apache サービスに同時にアクセスできるようにします。 この方法を使用すると、ssh サービスのみを含むベース イメージを作成し、このイメージに基づいてイメージを作成できます。 上記のDockerでSupervisorを使用してプロセス操作を管理する方法に関する記事は、編集者が皆さんと共有するすべての内容です。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
まず、接続プールを使用する理由と、接続プールによってどのような問題が解決できるかを理解する必要があり...
オフセットOffset はオフセットです。関連プロパティの offset シリーズを使用すると、次の...
mysql データベースには student テーブルがあり、その構造は次のとおりです。 Oracl...
公式ドキュメント:したがって、mysql は次のように起動する必要があります。 docker run...
1 インストールMYSQL 公式サイトから対応する解凍バージョンをダウンロードし、必要なディレクトリ...
目次1. はじめに2. es5メソッド3. 非同期関数のシリアル実行4. 非同期関数の並列実行5. ...
余計なことは言わないで、コードだけ見てみましょう〜 プロジェクト番号を選択、 sum(case wh...
目次インデックスの適切な使用1. 通常のインデックスのデメリット2. 主キーインデックスの落とし穴3...
Mysql はクエリ結果セットを JSON データに変換します 序文 学生テーブル 学生スコアテーブ...
セキュアターミナルMobaXterm_Personalをダウンロードまず、安全なターミナルをダウンロ...
まずは適用方法を説明します。nginxモジュールにはjtxyとjtcmdの2つがあります。 http...
1. オンラインテキストジェネレーターBlindTextGenerator: デザイナーにとって、こ...
関連記事:初心者が学ぶ HTML タグ (5)導入された HTML タグは、必ずしも XHTML 仕...
コードをコピーコードは次のとおりです。 jQuery.cookie = 関数(名前、値、オプション)...
まずは、以前書いた CSS カルーセルアニメーション効果を見てみましょう。アニメーションの遷移をスム...