Compose - みる会図書館


検索対象: Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!
31件見つかりました。

1. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

( hap 「 5-02 DOCke 「 Comoose を用いた複数コンテナの連携管理 filter { grok { " { COMBINEDAPACHELOG}' match = > { "message" geoip { source = > "clientip output { elasticsearch { hosts = > "elasticsearch : 9200 " Pa ュ 5 設定ファイルは、ホストの /etc/logstash/conf. d ディレクトリに [logstash ℃ onf 」 というファイル名で配置します。 docke 「 -compose. yml ファイルの V01Umes 命令でこの ディレクトリがコンテナ内の同じディレクトリにマウントされ、 command 命令で実行す る [logstash -f /etc/logstash/conf. d/logstash. conf 」というコマンドで、設定が読 み込まれます。 記述後、次のコマンドを実行してサービスを起動します。 $ docker-compose up -d E nter サービス起動後、 nc コマンドを次のように実行するなどしてデータを曰 asticSea 「 c ⅱ に読み込ませます。ここでは、 Apache HTTP サーバーのアクセスログを格納した 「 access 」 og 」というファイルを読み込ませています。 nc コマンドは、「 nc 」または 「 netcat 」という名前のパッケージをインストールすることで利用できます。 $ nc localhost 5000 く access .10q Enter データの読み込みが終了したら、 Docke 「サーバーを稼働しているホストの TCP5601 番ボートにアクセスします。それによって、 5-2-12 のような kibana の初期設定画面が表 示されます。 219

2. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

( hap 「 5 -02 DOCke 「 Compose を用いた複数コンテナの連携管理 ー Docker Compose のインストール手順 Docke 「 Compose は、 64 ビット版の Linux 環境または Windows 環境、 OS X 環境に インストールできます。 Li nux 環境には次の手順でインストールできます。これは、バージョン 1 .5. ] の Docke 「 Compose をインストールする場合の例です。他のバージョンをインストールす る場合は、 cu 目コマンドに指定する IJ 日 L の「 1 .5.1 」の部分を書き換えます。 $ curl - 石 https : //github. com/docker/compose/releases/download/l . 5 . 1 / docker—compose— uname —S ー uname —m > docker—compose $ 0 Od 十 x docker-compose $ sudo mv docker-compose /usr/local/bin Enter Enter Enter Pa ュ 5 Wi ndows 環境と OS X 環境には、 Docke 「のインストールに使用する「 Docke 「 TooIbox 」 (https://www.docke 「.com/docke 「 -toolbox) で、 Docke 「 Compose も一 緒にインストールできます。 Docker To box のインストールバッケージに Docke 「 Compose を選択している様子 5-2-1 ツ DO ( ke 「 T00 旧 ox のインストール "Macintosh HD ”にカスタムインストール バッケージ名 ノ Docker Client 1.9 は 0 はじめに ノ Docker Machine 0.5.2 0 0 e Ⅳ厄 w Docker compose 1.5.1 Docker Quickstart Terminal 0 インストール先の選択 Docker Kitematic 0.93 0 インストールの種類 Oracle VM Ⅵ代 u 師 x 5.0.10 ・インストール ・ VM Migration ・ Quick Start ・概要 9 ーサイズ 9.2 MB 1253 MB 5.2 MB 1.1 MB 123 MB 254.1 MB アクション インストール インストール インストール インストール インストール インストール 必要な空き領域 . 549.- 残り . 21.12 CB 標準インストール インストール後、端末で docke 「 -compose コマンドを実行して、コマンドの使用方法 が表示されれば Docke 「 Compose のインストールは成功です。 Docke 「 Compose の各 20 /

3. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

複数コンテナの連携と Docker Compose Pa 5 INDEX docker-compose. yml ファイルの記述例 docker-compose コマンドを使った管理手順 docker-compose. yml ファイルの書式 Docke 「 Compose の概要とインストール Chapter 5-02 Docker Compose を用いた複数コンテナの連携管理 コンテナの起動順序を守る必要がある 相手コンテナの情報を設定する -- ⅱ nk オプション バージョン 1 .9 からマルチホスト連携が可能に Docke 「のネットワーク chapter 5-01 複数のコンテナを連携させる一ⅱ nk オプション を使ったサービス管理 200 200 201 202 205 206 206 208 21 3 216 1 99 222

4. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

Pa 5 複数コンテナの連携と Docke 「 Compose を使ったサービス管理 Docker Compose を用いた chapter5-02 複数コンテナの連携管理 Docke 「社が提供する「 Docker Compose 」というツールを利用すれば、複数コンテナの連携など のコンテナ管理が容易になります。ここでは、 Docker Compose のインストール方法や使用方法、 設定ファイルである「 docker-compose. ymlJ の書式について解説します。 Docker Compose の概要とインストール Chapte 「 5-01 で紹介した通り、複数のコンテナを連携して稼働させる場合はコンテナ の起動順序に注意する必要があります。また、コンテナの連携時には一般に、複数の環境 変数を設定したり、データ保存ディレクトリを設定したりするために、多数のオプション を指定してコンテナを起動する必要があります。これらをきちんと守りながらコンテナを 起動するのは結構面倒です。 コンテナの起動だけに着目すれば、シェルスクリプトにコンテナ起動用のコマンドを順 に記述しておき、それを実行することで手間を削減できます。しかしこの方法では、起動 後のコンテナの管理はできません。 docke 「コマンドを使った管理は可能ですが、コンテ ナの数が増えると、あるサービスにどのコンテナが関連しているのかが分かりづらくな り、管理が次第に難しくなります。 そうした問題を解消するために、 Docke 「社では「 Docke 「 Compose 」というコンテ ナ管理ツールを提供しています。 Docke 「 Compose を利用することで、複数のコンテナ を効率的に管理できるようになります。具体的には、サービスを構成するコンテナの実行 に必要な情報を記述した設定ファイルを参照することで、サービスを構成するコンテナ群 をまとめて起動、停止させたり、コンテナ群の実行状態を調べたりといった作業を可能に します。これによって管理作業の負荷を大幅に低減できます。 なお、 Docke 「 Compose は、開発当初は「 Fig 」と呼ばれるサードバーティ製ツールで した。 Fig の開発元である英 O 「 cha 「 d LabO 「 at0 「 ies 社が、 2014 年に DOCke 「社によっ て買収されたことにより、 Docke 「の公式ツールとなり現在の名前になりました。 201 5 年 ] 1 月末時点での Docke 「 Compose のバージョンは ] .5. ] です。同バージョ ンの DOCke 「 Compose は、バージョン ] .7. ] 以降の DOCke 「サーバーに対応していま す。 206

5. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

Pa 5 複数コンテナの連携と Docke 「 Compose を使ったサービス管理 docker-compose.yml ファイルの記述例 docke 「 -compose. yml ファイルのテンプレート設定を Docke 「 Hub などで配布してく れるようになると便利ですが、 201 5 年 1 2 月時点では、そうしたサービスは行われてい ません。 docke 「 -compose. yml ファイルの記述は決して難しくはないものの、最初のう ちは、できるだけ多くの記述例を参考に見てみたいという方も多いでしよう。 グーグルなどの検索エンジンで Docke 「 Hub のサイト内を「 docke 「 -compose. ymIJ というキーワードで検索すると、さまざまなユーザーが作成した docke 「 - compose. y ファイルが見つかります。それらを参考にするのも一手でしよう。グーグルで Docke 「 Hub のサイト内検索を実施するには、検索窓に「 site:hub. docke 「.com 」という文字列と 検索キーワードを記述します。 以降では、プロジェクト管理ソフト「 Redmine 」と、データ可視化ツール「 kibana 」を 稼働させるための docke 「 -compose. yml ファイルの記述例を紹介します。 ー Redmine を稼働させるための記述例 5-2-8 216 Redmine 用の docke 「 -compose. yml の記述例を 5-2-8 に挙げました。これは、 Docke 「 Hub にある公式イメージ「「 edmine 」の付属文書にある docke 「「 un コマンド実 行例に基づいて作成した記述例です。この記述例では、 Redmine にアップロードしたフ ァイルを、ホストの /va 「 /lib/ 「 edmine ディレクトリに格納するように指示しています。 また、データベース管理システムには、 Postg 「 eSQL を使用しています。 Redmine 用の docker-compose. yml の記述例 て e 面土 ne : image : redmine links: ports : " 3000 : 3000 " volumes : /var/lib/redmine : /usr/src/redmine/files dbms : postgres dbms : xmage : postgres envxronment : POSTGRES PASSWORD=password POSTGRES USER=redrnine

6. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

Pa 5 複数コンテナの連携と Docke 「 Compose を使ったサービス管理 種操作は、この docke 「 -compose コマンドで実施します。 なお、 docke 「 -compose コマンドの実行には、 Docke 「クライアント (docke 「コマン ド ) の実行と同じ権限が必要です。 docke 「コマンドを一般ユーザーで動作するように設 定している場合は、 docke 「 -compose コマンドも同じユーサー権限で動きます。そうし た設定をしていない場合で、 Docke 「サーバーと UNIX ドメインソケットで通信する場合 には、 Docke 「クライアントと同様に管理者権限が必要になります。 また、リモートにある Docke 「サーバーのイメージやコンテナを管理する場合は、 Docke 「サーバーを TCP 通信ポート経由で操作を受け付けるように設定した上で、 Docke 「クライアントの場合と同様に DOCKER-HOST 環境変数に「 Docke 「サーバーの IP アドレス : ボート番号」という書式で値を設定しておく必要があります。 docker-compose.yml ファイルの書式 ら起動したコンテナをリンクして稼働させるための記述例です。 ンテナと、データベース管理システム「 MYSQ 凵を稼働させる公式イメージ (mysql) か 管理システム「 WO 「 dP 「 ess 」を稼働させる公式イメージ ()o 「 dp 「 ess) から起動したコ docke 「 - compose. Y ファイルの記述例を 5-2-2 に挙けました。これは、コンテンツ 定します。 ァイルから設定を読み込む場合は、 - f または一 f ⅱ e オプションで、そのファイルのパスを指 読み込んで、それに従ってサービスやコンテナを管理します。名前や配置場所が異なるフ ymIJ という名前の YAML (YAML Ain't a Ma 「 kup Language) 形式の設定ファイルを docke 「 -compose コマンドは、カレントディレクトリにある「 docke 「 -compose. 5-2-2 docker-compose. yml ファイルの記述例 word ress : : wordpress links : サービス名 dbms :mysql ports : 8 0 80 : 80 dbms : image : mysql envxronment : SQ ROOT PASSWORD=password 208 字下げ ( インデント ) によって 記述の意味が変わる 下線をつけたものが命令

7. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

( hapte 「 5-02 DOCke 「 Compose を用いた複数コンテナの連携管理 ロ字下げで構造を表現 YAML では、字下け ( インデント ) に意味を持たせ、字下げによって構造を表現します。 docke 「 -compose. yml ファイルの場合は、字下げの有無や深さによって、「サービス名」 「命令」「命令の引数」の主に 3 つを区別して記述します。なお YAML の字下けは、 ] つ以 上の空白で記述します。字下げに使われることが多いタブ文字は使用できないことに注意 してください。 字下げ無しで記述するのが「サービス名」です。サービス名の末尾には「 : 」を付加しま す。ここで言うサービスとは、 ] つのイメージから起動される ] つ以上のコンテナに名前 を付けたものです※ 1 。 docke 「 -compose. yml ファイルの中では、基本的にこのサービス 名を使って操作対象のコンテナを指定します。例えば、リンクを指示する場合にはリンク 先のコンテナをサービス名で指定します。 なお、 Docke 「 Compose で起動するコンテナには、サービス名に基づいた名前が付け られますが、コンテナが ] つの場合でもサービス名とコンテナ名は同じにはならない点に 注意が必要です。 次の字下げレベルで記述するのが「命令」です。 Docke 「 file に記述できる命令と似通っ た名前や機能の命令が多いのですが、小文字で記述する点に違いがあります。命令の末尾 にも「 : 」を付加して記述します。命令によっては、命令に続いて、同じ行に引数を記述で きるものがあります。 命令の次の字下げレベ丿レで記述するのが、「命令の引数」です。命令の引数は、各行の字 下け位置の先頭に「 - 」と空白を記述してから記述します。これは、リスト形式を示す YAML の書式です。 ロードバランシングなどの目的で、 1 つのサービスで複数のコンテナを稼働させる場合などを想定して ください。 Docke 「 Compose では、そうした状況に対応するための sc 引 e という命令を docke 「 - compose. Y ファイルに記述できるようになっています。 ロ docker-compose コマンドでコンテナを一度に起動 この設定ファイルがあるディレクトリで次のコマンドを実行することで、 これらのコン テナを一度に起動できます。 Pa ュ 5 $ docker-compose up -d E nte r ホストの TCP8080 番ポートに Web ブラウザでアクセスすると、 5-2-3 のように Wo 「 dP 「 ess の稼働を確認できるはすです。 209

8. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

( hap e 「 5-02 DOCke 「 Compose を用いた複数コンテナの連携管理 ー 7 種類の命令を覚えれば記述できる Docke 「社が提供する「 Compose file 「 efe 「 ence 」 (https://docs.docke 「.com/ compose/compose-file/) を読むと分かりますが、 docke 「 -compose. yml ファイルに 記述できる命令は多数あります。しかし、一般的な利用方法においては、 5-2-4 に挙げた 7 種類の命令だけで概ね対応できます。そのため、まずは、この 7 種類の命令を覚えると 良いでしよう。 docke 「 - compose. Y の記述に最低限必要な命令 5-2-4 コンテナの既定コマンドや引数を置き換えるコマンドや引数を指定 command コンテナに設定する環境変数を指定 envi 「 onment コンテナが通信を待ち受ける通信ポート番号を指定 expose サービスで使用するイメージを指定 lmage リンク先のコンテナを「サービス名 : 別名」の書式で指定 links コンテナの待ち受け通信ボートで外部からの通信を受信できるように、ホストに portS ポート転送設定を施す ホストのディレクトリをマウントするコンテナ内ディレクトリを指定 volumes 以降では、この 7 種類の命令の概要と書式を紹介します。 command 命令 ロ コンテナで起動するコマンドを指定する命令です。指定したコマンドは、イメージの CMD 設定で指定されているコマンドを置き換えて実行されます。イメージの ENT 日 YPOINT 設定で実行するコマンドが指定されている場合は、そのコマンドの引数と して command 命令で指定した値が使われます。 command 命令の書式は次の通りです。 conunand: ーコマンフー引数 ... ノ environmentnp-n コンテナに設定する環境変数を指定する命令です。次の 2 種類の書式があります。 envxronment : 環変数名 : 値 一環変数名 . ・値ノ 役割 コマンド Pa ュ 5 ロ

9. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

INDEX 140 cg 「 oup f 「 eeze 「・・ 23 , 24 ch 「 OOt ・ 88 , 122 ′ 21 1 CMD 設定 1 69 ′ 1 85 CMD 命令 (Docke 「 file) ・ command 命令 (Docke 「 Compose) 21 1 ′ 219 201 Consul•• COPY 命令 (Docke 「 file) ・・ 169 ′ 175 ′ 1 81 laaS image 命令 (Docke 「 Compose) 21 し 212 1 8 ′ 34 Co 「 eOS 26 ′ 27 / 8 , 114 195 , 20 / lmmutable lnf 「 ast 「 uctu 「 e cu 目コマンド・ 90 ′ 152 init サーバー 33 te 旧 4 ・ 216 , 21 / kibana 27 Kube 「 netes 169 ′ 18 / LABEL 命令 (Docke 「 file) d コマンド 24 libcontaine 「・ links 命令 (DOCke 「 Compose) ・ 21 1 ′ 212 23 ′ 30 Linux カーネル・ 218 logstash 3 / LTS 24 155 LXC ・ INDEX 32 ′イ 4 130 ′ 152 ′ 163 206 169 , 181 FedO 「 a Fig FROM 命令 (Docke 「 file) ・ 184 --build-a 「 g オプション・・ --cap-add=SYS_ADMlN オプション・ 90 1 5 / -H/--host オプション・・ 194 ′ 198 --insecu 「 e イ egist 「 y オプション 82 , 1 23 , 1 38 - it オプション・ 1 1 9 ′ 200 , 202 ーⅱ nk オプション / 3 , 1 33 --name オプション・・ 126 -P/--pubIish-all オプション 25 , 32 ′ 106 / 9 , 1 2 / Debian GNU/Linux ・ -p/--publish オプション・ 106 90 debootst 「 ap --p 「 ivileged オプション devicemappe 「 ( ストレージドライバ ) -s/—sto 「 age-d 「 ive 「オプション・ 156 ′ 159 159 ′ 160 ′ 162 --selinux-enabled オプション 48 , 81 156 Device Mappe 「・・ 25 ′ 159 ′ 160 , 162 81 , 1 28 -v/--volume オプション・ 158 DevOps . bash 「 c ・・ 159 159 dm-thin ℃ Sh 「 C ・ 2 乙 3 し 206 158 Docke 「 Compose . ZSh 「 C 28 , 208 , 216 180 dOCke 「 -compose. yml . docke 「 igno 「 e ・ 20 乙 208 , 213 dOCke 「 -compose コマンド 1 63 /etc/default/docke 「・ docke 「 -compose のサブコマンド 203 /etc/hosts 213 ′ 214 215 48 , 163 /etc/sysconfig/docke 「・・ Dockerfile /p 「 oc/sys/net/ipv4/ip 」 ocal-po 「 t- 「 ange 1482 , 100 , 168 , 1 〃′ 181 126 MAINTAINER 命令 (Dockerfile) ・ 169 ′ 1 8 / Docke 「 Hub /us 「 /lib/systemd/system/docke 「 . service 208 ・ 1 3 , 24 25 , 65 , 1 0 乙 192 MYSQL ・ 4 乙 48 , 163 23 158 ′ 208 DOCKER_HOST 環境変数 Namespace /va 「 /lib/docke 「ディレクトリ・・ 6 乙 153 23 ′ 24 2 乙 31 Netfilte 「・ イ 2 ′刀 , 1 5 / Docke 「 Kitematic ・・ /va 「 / 「 un/docke 「 . sock ・ ONBUILD 命令 (DockerfiIe) ・ 169 ′ 188 2 乙 31 200 Docke 「 Machine 3 階層モデル 52 , 59 docke 「 -machine コマンド OpenShift 33 64 ビット命令セット 15 ′ 1 8 DOCke 「 Quicksta 「 t Te 「 minal••・ 5 乙 58 OpenStack 20 , 22 OS レベル仮想化・ 2 乙 201 Docke 「 Swa 「 m overlay ( ストレージドライバ ) ・ 159 ′ 160 , 162 31 , 49 , 207 ADD 命令 (DOCke 「 file) ・・ 169 , 175 ′ 1 81 Docke 「 Toolbox 25 ′ 160 ′ 161 86 Docke 「エンジン 1 2 ′ 1 3 ′ 14 , 1 6 OverIayfs adduse 「コマンド・ docke 「グループ・・ 33 AMD64 ・ Docke 「クライアント 30 , 68 , 1 5 乙 158 59 AMD-V ・ 26 ′ 68 , 刀 docke 「コマンド 1 15 , 193 API• Docke 「サーバー 30 , 68 ′ 152 ′ 163 , 165 38 , 83 , 1 刀 apt-get コマンド 1 2 , 1 8 Docke 「社・ 169 ′ 1 8 イ A 日 G 命令 (Docke 「 file) ・ aufs ( ストレージドライバ ) ・ 159 , 160 , 162 25 ′ 6 乙 159 , 160 AUFS Automated Builds 6 乙 82 Bash ・ b 耐 s ( ストレージドライバ ) ・ 159 ′ 160 ′ 162 6 乙 160 ′ 161 Bt 「 fs PaaS ・ 90 PA M 2 乙 205 Panamax 52 PATH 環境変数 po 「 ts 命令 (Docke 「 Compose) ・ 21 1 ′ 213 216 Postg 「 eSQL 218 ElasticSea 「 ch 122 ′ 211 ENTRYPOINT 設定 ENTRYPOINT 命令 (Dockerfile) ・ 169 ′ 185 envi 「 onment 命令 (Docke 「 Compose) ・ 211 169 ′ 1 8 イ ENV 命令 (Docke 「 file) ・ 1 / 7 epheme 「 al•・ 201 Etcd ・・ 1 25 ′ 169 EXPOSE 設定 21 1 , 212 expose 命令 (DOCke 「 Compose) 169 ′ 186 EXPOSE 命令 (Docke 「 file) ・ Red Hat Ente 「 p 「 ise Linux 1 8 , 32 ′ 152 , 161 , 163 216 Redmine 日 CJN 命令 (Docke 「 file) ・・ 169 ′ 1 / 2 ′ 189 SELinux 8 っ 0 - -4- 5 ) 4 00 ・ 6 っ 0 っ C Shell•・ CentOS ・ CentOS Atomic HOSt ・ Cg 「 oups ・・ 4 乙 8 し 130 , 156 222

10. Docker入門 : コンテナ型仮想化技術Dockerの導入と実践! : Web管理者インフラ技術者必見!

Pa rt 5 複数コンテナの連携と Docker Compose を 使ったサービス管理 複雑な処理を必要とするサービスを構築する場合など、 複数のコンテナを連携して稼働させる必要があるケー スがあります。ここでは、 Docker のコンテナ連携の仕 組みや、連携を実現する方法について解説します。ま た、 Docke 「社が提供する「 Docker Compose 」という コンテナ管理ツールの使い方についても紹介します。