Docker コンテナー内で複数のサービスを実行する方法を学習しますか? このチュートリアルでは、Ubuntu Linux を実行しているコンピューター上の Docker コンテナー内で複数のサービスを実行するために必要なすべての手順を示します。
• Ubuntu 18.04
• Ubuntu 19.10
• ドッカー 19.03.6
この例では、1 つの Docker コンテナーが MySQL サービスと Apache サービスを実行します。
Apache サービスは TCP ポート 80 でリッスンします。
MySQL サービスは TCP ポート 3306 でリッスンします。
チュートリアルドッカー – 複数のサービスを実行するコンテナ
Docker サービスをインストールします。
オンラインリポジトリからUbuntuドッカーイメージをダウンロードします。
システムにインストールされている Docker イメージを一覧表示します。
コマンド出力は次のとおりです。
この Docker イメージを使用して、新しい Ubuntu コンテナーを開始します。
これで、コンテナーのコマンド ラインに入ります。
この例では、Ubuntu イメージを使用して新しいコンテナを起動しました。
この例では、コンテナー ID は 62f9adcafb62 です。
この例では、コンテナの名前は MYCONTAINER でした。
必要なパッケージの一覧をインストールします。
Apache サービスをインストールします。
システムはタイムゾーンの選択を要求します。
この例では、アメリカ、サンパウロにタイムゾーンを設定しました。
MySQL サービスをインストールします。
mysqld.cnf という名前の MySQL 構成ファイルを編集します。
構成ファイル内で、次の行を見つけます。
この行の値を 0.0.0.0 に変更します。
コンテナ内で MySQL サービスを手動で開始します。
MySQL コマンドラインにアクセスします。
MySQL ルートユーザーのパスワードを設定します。
この例では、root ユーザーのパスワードが kamisama123 に設定されています。
supervisord.conf という名前のコンフィギュレーション ファイルを作成します。
ここにファイルの内容があります。
コンテナのルート ディレクトリに、run.shという名前のスクリプトを作成します。
ここにファイルの内容があります。
正しいファイルアクセス権を設定します。
コンテナーのコマンド ラインを終了します。
このコンテナーに基づいて Docker イメージを作成します。
この例では、MYCONTAINER という名前のコンテナーに基づいて、MYIMAGE という名前の Docker イメージを作成しました。
作成したイメージを使用して、新しい Docker コンテナーを開始します。
Apache サービスへのアクセスをテストします。
コマンド出力は次のとおりです。
MySQL サービスへのアクセスをテストします。
コマンド出力は次のとおりです。
おめでとう! 複数のサービスを提供する Docker イメージの作成が完了しました。