Docker-composeは、マルチコンテナDockerアプリケーションを定義および構成するためのコマンドラインツールです。 s。つまり、docker composeは、複数のコンテナーをリンクし、単一のコマンドからアプリケーションをデプロイするために使用されると言えます。コンテナ内にWordPressサイトをデプロイするとします。そのため、これをデプロイするには、1つのWebサーバーコンテナ(Apache / nginx)と1つのデータベースコンテナ(mysql / mariadb)が必要になります。
Docker Composeを使用すると、docker-composeファイル内に複数のコンテナーを簡単に含めることができ、アプリケーションに必要な他のすべての構成を定義することもできます。 Docker-composeツールは、開発、テスト、ステージング環境で使用できますが、これらとは別に、 CIでも簡単に使用できます。 (継続的インテグレーション )ワークフロー
この記事では、既存のDockerホストにDocker Composeをインストールする方法について説明し、次にdocker-composeコマンドからコンテナーをデプロイする方法を学習します。前回の記事では、すでに次のトピックについて説明しました。
- CentOS7にDockerをインストールする方法
- CentOS7にDockerSwarmモードをインストールして構成する
ここでは、既存のDockerホストが稼働していると想定しています。それでは、dockercomposeツールのインストール手順に進みましょう。
DockerComposeのインストール手順
Dockerホストにログインし、以下のコマンドを次々に実行します
[[email protected]〜]#yum install epel-release -y [[email protected]〜]#yum install python-pip -y [[email protected]〜]#pip install docker-compose
注:docker-composeがスムーズに機能するには、pipバージョン6.0以降をお勧めします。 pipのバージョンが6.0未満の場合は、以下のコマンドを実行してアップグレードします
[[email protected]〜]#pip install --upgrade pip
以下のコマンドを使用してDockerのバージョンを確認します
[[email protected]〜]#docker-compose --versiondocker-compose version 1.15.0、build e12f3b9 [[email protected]〜]#
DockerComposeツールを使用してコンテナーをデプロイする
docker-composeコマンドを使用してdockerコンテナーをデプロイするには、最初にそのディレクトリーの下にディレクトリーを作成し、「 docker-compose.yml」という名前の作成ファイルを作成します。 ‘または‘ docker-compose.yaml ‘。作成ファイルでは、アプリケーションとコンテナイメージのサービスを定義します。
作成ファイルの作成を開始する前に、まずWordPressとMySQLのコンテナイメージをプルしましょう
SIZEmysqlを作成した<前> [[Eメール保護]〜]#]ドッキングウィンドウプルwordpressの[[Eメール保護]〜]#]ドッキングウィンドウプルmysqlの[[Eメール保護]〜]#]ドッキングウィンドウの画像lsREPOSITORYのタグ画像のID 2日412MBwordpress前の最新c73c7527c03a最新f28808014819 7数日前406MB「wordpress-site」という名前のディレクトリを作成します 」
[[email protected]〜]#mkdir wordpress-site [[email protected]〜]#cd wordpress-site / [[email protected] wordpress-site]#
次のコンテンツを含むdocker-compose.ymlファイルを作成します
バージョン: '3.0'サービス:ウェブサーバー:画像:wordpress container_name:wp_webポート:-8080:80リンク:-dbserver:mysql環境:コンテナ
上記の作成ファイルでは、「webserver」と「dbserver」という名前の2つのサービスを定義しています。これらのサービスには、コンテナーイメージも指定しています。これとは別に、mysqlのrootパスワードとwordpressのdbパスワードに言及して環境を指定しました。
以下のコマンドを実行して、アプリケーション、つまりWordPressサイトをデプロイしましょう。
[[email protected] wordpress-site]#docker-compose up
注: docker-composeファイルが存在するディレクトリから「docker-composeup」コマンドを実行します。
上記のコマンドは、「wp_web」と「wp_db」という名前の2つのコンテナーをデプロイします。 URLを使用してWordPressサイトにアクセスしてみてください:
http:// {docker-host-ip}:8080
画面の指示を完了して、WordPressのインストールを完了します。これは、docker-composeツールを使用してコンテナー内にWordPressサイトを正常にデプロイしたことを確認します。
「docker-compose」コマンドのオプションを見てみましょう
アプリケーション用にデプロイされているコンテナを一覧表示します
[[email protected] wordpress-site]#docker-composepsNameコマンド状態ポート----------------------------- ----------------------------------------- wp_db docker-entrypoint.sh mysqld Up 3306 /tcpwp_web docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp[[メール保護]wordpress-site]#
コンテナとそのサービスを停止して開始します
コマンドでCtrl+Cを押すか、コマンドの下で実行します
[[email protected] wordpress-site]#docker-compose stopStopping wp_web ... doneStopping wp_db ... done [[email protected] wordpress-site]#
「docker-composestart」を実行して、コンテナとそのサービスを開始します
[[email protected] wordpress-site]#docker-compose startStarting dbserver ... doneStarting webserver ... done [[email protected] wordpress-site]#
コンテナログを表示する
「docker-composelogs」コマンドを実行してコンテナーのログを表示し、特定のコンテナーのログを表示するには、コマンド「docker-composelogs{service-name}」を使用します
[[email protected] wordpress-site]#docker-compose logs [[email protected] wordpress-site]#docker-compose logs dbserver
コンテナとそのネットワークの停止と削除
「docker-composedown」コマンドを使用すると、単一のコマンドからコンテナを停止して削除できます
[[email protected] wordpress-site]#docker-compose downStopping wp_web ... doneStopping wp_db ... doneRemoving wp_web ... doneRemoving wp_db ... doneRemoving network wordpresssite_default [[email protected] wordpress-site]#
このチュートリアルは以上です。その他のオプションについては、「docker-compose –help」を参照してください。