Dockerコンポーズ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>Docker]]
*目次 [#l3c5bf46]
#contents
*概要 [#c05ae463]
-複数コンテナの一括管理ができる機能。
-Docker Composeファイル(docker-compose.yml)に定義する。
-既存の[[Dockerイメージ>Docker#vee01503]]や[[Dockerファイ...
*ファイル [#l4bc9a24]
**docker-compose.yml [#z3a1b9a9]
***概要 [#m0fe40d1]
-基本的に、servicesに書くservices(コンテナ)を書く。
-buildには、[[Dockerファイル]]を指定する。
-imageには、[[Dockerイメージ>Docker#vee01503]]を指定する。
-その他は、≒ [[docker container runコマンド>Dockerコマン...
***機能 [#v9a6fab6]
-バージョン
|Compose|Engine|h
|Compose 仕様|19.03.0|
|3.8|19.03.0|
|3.7|18.06.0|
|3.6|18.02.0|
|3.5|17.12.0|
|3.4|17.09.0|
|3.3|17.06.0|
|3.2|17.04.0|
|3.1|1.13.1|
|3.0|1.13.0|
|2.3|17.06.0|
|2.2|1.13.0|
|2.1|1.12.0|
|2.0|1.10.0|
|1.0|1.9.1|
-機能
--[[Dockerファイル]]によるイメージのビルド(build)
--[[Dockerイメージ>Docker#vee01503]]の指定(image)
--コンテナ内で動かすコマンドの指定(command/entrypoint)
--コンテナ環境変数の指定(environment/env_file)
--コンテナの情報設定(container_name/labels)
--入出力
---コンテナ間の通信(ports/expose)~
・portsは、ポートをホスト・マシンに公開する。基本的にはホ...
・exposeは、ポートを仮想ブリッジ(docker0)に公開する。コ...
---コンテナのデータ設定(volumes/volumes_from)~
・volumesは、ホスト・マシンのボリュームをマウントする。基...
・volumes_fromは、V3 で 削除されたが、[[networks>Dockerの...
--[[ネットワーク>Dockerのネットワーク設定]]
---コンテナ間の依存関係([[depends_on>Dockerのネットワー...
---コンテナ間での連携([[links>Dockerのネットワーク設定#b...
昨今、非推奨。[[networks>Dockerのネットワーク設定#k76b147...
***例 [#v0f4a4c6]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
**docker-compose.override.yml [#rc0fc233]
***概要 [#fafc6ee2]
-上書き用ファイルで、ローカル・デバックに必要な情報を集約...
-K8sサービス用のイメージを作成する場合は、以下の様に明示...
>docker-compose -f docker-compose.yml build
***例 [#y19d33d9]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
**その他のファイル [#v9694085]
***docker-compose.dcproj [#wc75c473]
-概要
--Docker用のファイルではなく、Visual Studio の Docker Com...
--ブラウザ起動の設定などが含まれるらしいが、細かい所はMS...
-例
--https://github.com/daisukenishino2/EvaluateAspNetCoreOn...
***, etc. [#xf7b07af]
**[[リファレンス>#bdfb82de]] [#z4047ee9]
***build [#z8a48d9a]
https://docs.docker.jp/compose/compose-file.html#build
-https://docs.docker.jp/compose/compose-file.html#context
-https://docs.docker.jp/compose/compose-file.html#dockerf...
-https://docs.docker.jp/compose/compose-file.html#args
***image [#aa6da4c2]
https://docs.docker.jp/compose/compose-file.html#image
***command/entrypoint [#d66afc1b]
-https://docs.docker.jp/compose/compose-file.html#command
-https://docs.docker.jp/compose/compose-file.html#entrypo...
***environment/env_file [#ke4e5549]
-https://docs.docker.jp/compose/compose-file.html#environ...
-https://docs.docker.jp/compose/compose-file.html#env-file
***container_name/labels [#i6d3b574]
-https://docs.docker.jp/compose/compose-file.html#contain...
-https://docs.docker.jp/compose/compose-file.html#labels
***ports/expose [#c5970dcf]
-https://docs.docker.jp/compose/compose-file.html#ports
>「ホスト側:コンテナ側」と書けば安定。
-https://docs.docker.jp/compose/compose-file.html#expose
>「コンテナ側」と書く。
***volumes/volumes_from [#tfc111ad]
-https://docs.docker.jp/compose/compose-file.html#volumes...
>「ホスト側:コンテナ側」と書けば安定。~
-ホスト側を「.」とすると、docker-compose.ymlの位置にマウ...
-なので、「./data:/data」などと書くと、解り易いと思われる。
-https://docs.docker.jp/compose/compose-file.html#volumes...
***links/depends_on [#ub93df35]
-https://docs.docker.jp/compose/compose-file.html#links
-https://docs.docker.jp/compose/compose-file.html#depends...
*コマンド [#ad911976]
-[[前述>#fafc6ee2]]のように、基本は、カレントの、~
docker-composeファイルに記述の範囲のサービスに作用する。
-カレント・ディレクトリの以下のdocker-composeファイルが対象
--docker-compose.yml
--docker-compose.yaml
--docker-compose.override.yml
--docker-compose.override.yaml
-コマンドに
--「-f」を付与し、ファイルを明示することも可能。
-- 「--remove-orphans」を付与し、ファイルで定義されていな...
**基本コマンド [#ga0cd21b]
***バージョン確認 [#s2a731d9]
>C:\Users\nishi>docker-compose -v
docker-compose version 1.24.1, build 4667896b
***確認 [#vfcc0ce5]
-ps
>docker-compose ps -q
--構文
docker-compose ps [Option] [ServiceName...]
--オプション
--- -q : ID のみ表示
-logs
>docker-compose logs
--構文
docker-compose logs [Option] [ServiceName...]
--オプション
--- --no-color : 白黒で画面に出力
--- --follow(-f) : ログの出力をフォロー(表示しつづける)
--- --timestamps(-t) : タイムスタンプの表示
--- --tail : 各コンテナのログの最終行から遡った行を表示
***開始 [#r9c0d903]
>docker-compose up -d
>※ &color(red){-dを付与しない場合は、フォアグラウンドで動...
-構文
docker-compose up [Option] [ServiceName...]
-オプション
--実行(二者択一)
--- -d : バックグラウンドでコンテナを実行
--- --abort-on-container-exit : コンテナが1つでも停止し...
--再作成(二者択一)
--- --force-recreate : 変更がなくても、コンテナを再作成する
--- --no-recreate : コンテナが既に存在していれば、再作成...
--その他
--- --no-color : 白黒で画面に表示
--- --no-deps : リンクしたサービスを表示しない
--- --no-build : イメージが見つからなくてもbuild しない
--- --timeout(-t) TIMEOUT : 停止する時のタイムアウト秒数...
--- --remove-orphans : ファイルで定義されていないサービス用
***停止 [#y7b7bb10]
-通常の停止
>docker-compose stop
--構文
docker-compose stop [Option] [ServiceName...]
--オプション
---timeout(-t) TIMEOUT : 停止する時のタイムアウト秒数を指...
-強制の停止
>docker-compose kill -s SIGINT
--構文
docker-compose kill [Option] [ServiceName...]
--オプション
--- -s : コンテナに送信するシグナル。デフォルトのシグナル...
***再開 [#af93fad0]
>docker-compose start
--構文
docker-compose start [ServiceName...]
--オプション~
なし
***再起動 [#zbd59ec6]
>docker-compose restart
--構文
docker-compose restart [Option] [ServiceName...]
--オプション
---timeout(-t) TIMEOUT : 停止する時のタイムアウト秒数を指...
***中断・再開 [#u5906005]
-中断
>docker-compose pause
--構文
docker-compose pause [ServiceName...]
--オプション~
なし
-再開
>docker-compose unpause
--構文
docker-compose unpause [ServiceName...]
--オプション~
なし
***削除 [#e47323a2]
-個別削除
>docker-compose rm
--構文
docker-compose [Option] [ServiceName...]
--オプション
--- --force(-f) : 確認なく削除する
--- -v : アタッチしたアノニマス・ボリュームも削除
--- --all(-a) : docker-compose run で作成した一度だけのコ...
-全削除
>docker-compose down
--構文
docker-compose down [Option]
--オプション
--- --rmi type : イメージの削除。type は'all' or 'local'
--- --volumes(-v) : 名前付きボリューム、アタッチしたアノ...
--- --remove-orphans : ファイルで定義していないサービス用...
**個別のコンテナ操作 [#ud870602]
***コンテナ操作 [#g967375c]
>docker-compose run webapplication1 /bin/bash
root@041a67b9c5dc:/#
***コンテナ構成の確認 [#cd50bd7d]
-公開ポートの確認
>docker-compose port webapplication1 80
--構文
docker-compose port [Option] ServiceName Private_Port
--オプション
--- --protocol=proto : tcp or udp [Default : tcp]
--- --index=index : コンテナのインデックス数 [Default : 1]
-構成の確認
>docker-compose config
--構文
docker-compose config [Option]
--オプション
--- --quiet(-q) : 認証設定以外のメッセージを表示しない
--- --services : サービス名を1行で表示
***コンテナのスケールアウト [#j786b0e3]
>docker-compose up --scale webapplication1=3
-構文
docker-compose up --scale [ServiceNameA=n...]
-オプション~
なし
**その他のコマンド [#m542fbf2]
***イメージのビルド [#h9fa64cd]
>docker-compose up --build
**[[リファレンス>#q28bc59d]] [#gd28212b]
*用例 [#b2715a38]
以下が参考になる。
**各種サービス [#yf5e8328]
各種XXXXをDockerコンポーズ化する。
***[[各種NoSQL編>各種NoSQLをDockerコンポーズ化する。]] [#...
***[[各種RDBMS編>各種RDBMSをDockerコンポーズ化する。]] [#...
***参考 [#o5730b3f]
-docker-composeでデータベースコンテナを立てるときのTips~
https://muunyblue.github.io/9f067d8d6df2d4b8c64fb4c084d6c...
**[[K8s>Kubernetes]]連携 [#l96b05d0]
***[[Kompose]] [#h876e9dd]
***[[Compose on Kubernetes]] [#l5119673]
**マイクロソフト系技術情報 Wiki [#h39b8c85]
***[[Docker for Windows>https://techinfoofmicrosofttech.o...
***[[Visual Studio Tools for Docker>https://techinfoofmic...
***[[Visual Studio Kubernetes Tools>https://techinfoofmic...
*参考 [#gd128c02]
**docker.com [#y7bdd83a]
***Compose [#k61ad89b]
-https://docs.docker.com/compose/
-https://docs.docker.jp/compose/
***Compose file [#bdfb82de]
-https://docs.docker.com/compose/compose-file/
-https://docs.docker.jp/compose/compose-file.html
***Compose command [#q28bc59d]
-https://docs.docker.com/compose/reference/
-http://docs.docker.jp/compose/reference/
--https://docs.docker.jp/compose/reference/toc.html
--https://docs.docker.jp/compose/reference/index.html
**Qiita [#o4e38f73]
-Docker Compose - docker-compose.yml リファレンス~
https://qiita.com/zembutsu/items/9e9d80e05e36e882caaa
-docker-compose コマンドまとめ~
https://qiita.com/wasanx25/items/d47caf37b79e855af95f
-丁寧すぎるDocker-composeによる~
rails5 + MySQL on Dockerの環境構築(Docker for Mac)~
https://qiita.com/azul915/items/5b7063cbc80192343fc0
**さくらのナレッジ [#bf428c8f]
-連載:Docker Compose入門
--(1) ~アプリケーションをコンテナで簡単に扱うためのツー...
https://knowledge.sakura.ad.jp/21387/
--(2) ~ウェブサーバの開発環境を作るための準備~~
https://knowledge.sakura.ad.jp/23632/
--(3) ~ネットワークの理解を深める~~
https://knowledge.sakura.ad.jp/23899/
--(4) ~ネットワークの活用とボリューム~~
https://knowledge.sakura.ad.jp/26522/
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>Docker]]
*目次 [#l3c5bf46]
#contents
*概要 [#c05ae463]
-複数コンテナの一括管理ができる機能。
-Docker Composeファイル(docker-compose.yml)に定義する。
-既存の[[Dockerイメージ>Docker#vee01503]]や[[Dockerファイ...
*ファイル [#l4bc9a24]
**docker-compose.yml [#z3a1b9a9]
***概要 [#m0fe40d1]
-基本的に、servicesに書くservices(コンテナ)を書く。
-buildには、[[Dockerファイル]]を指定する。
-imageには、[[Dockerイメージ>Docker#vee01503]]を指定する。
-その他は、≒ [[docker container runコマンド>Dockerコマン...
***機能 [#v9a6fab6]
-バージョン
|Compose|Engine|h
|Compose 仕様|19.03.0|
|3.8|19.03.0|
|3.7|18.06.0|
|3.6|18.02.0|
|3.5|17.12.0|
|3.4|17.09.0|
|3.3|17.06.0|
|3.2|17.04.0|
|3.1|1.13.1|
|3.0|1.13.0|
|2.3|17.06.0|
|2.2|1.13.0|
|2.1|1.12.0|
|2.0|1.10.0|
|1.0|1.9.1|
-機能
--[[Dockerファイル]]によるイメージのビルド(build)
--[[Dockerイメージ>Docker#vee01503]]の指定(image)
--コンテナ内で動かすコマンドの指定(command/entrypoint)
--コンテナ環境変数の指定(environment/env_file)
--コンテナの情報設定(container_name/labels)
--入出力
---コンテナ間の通信(ports/expose)~
・portsは、ポートをホスト・マシンに公開する。基本的にはホ...
・exposeは、ポートを仮想ブリッジ(docker0)に公開する。コ...
---コンテナのデータ設定(volumes/volumes_from)~
・volumesは、ホスト・マシンのボリュームをマウントする。基...
・volumes_fromは、V3 で 削除されたが、[[networks>Dockerの...
--[[ネットワーク>Dockerのネットワーク設定]]
---コンテナ間の依存関係([[depends_on>Dockerのネットワー...
---コンテナ間での連携([[links>Dockerのネットワーク設定#b...
昨今、非推奨。[[networks>Dockerのネットワーク設定#k76b147...
***例 [#v0f4a4c6]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
**docker-compose.override.yml [#rc0fc233]
***概要 [#fafc6ee2]
-上書き用ファイルで、ローカル・デバックに必要な情報を集約...
-K8sサービス用のイメージを作成する場合は、以下の様に明示...
>docker-compose -f docker-compose.yml build
***例 [#y19d33d9]
https://github.com/daisukenishino2/EvaluateAspNetCoreOnDo...
**その他のファイル [#v9694085]
***docker-compose.dcproj [#wc75c473]
-概要
--Docker用のファイルではなく、Visual Studio の Docker Com...
--ブラウザ起動の設定などが含まれるらしいが、細かい所はMS...
-例
--https://github.com/daisukenishino2/EvaluateAspNetCoreOn...
***, etc. [#xf7b07af]
**[[リファレンス>#bdfb82de]] [#z4047ee9]
***build [#z8a48d9a]
https://docs.docker.jp/compose/compose-file.html#build
-https://docs.docker.jp/compose/compose-file.html#context
-https://docs.docker.jp/compose/compose-file.html#dockerf...
-https://docs.docker.jp/compose/compose-file.html#args
***image [#aa6da4c2]
https://docs.docker.jp/compose/compose-file.html#image
***command/entrypoint [#d66afc1b]
-https://docs.docker.jp/compose/compose-file.html#command
-https://docs.docker.jp/compose/compose-file.html#entrypo...
***environment/env_file [#ke4e5549]
-https://docs.docker.jp/compose/compose-file.html#environ...
-https://docs.docker.jp/compose/compose-file.html#env-file
***container_name/labels [#i6d3b574]
-https://docs.docker.jp/compose/compose-file.html#contain...
-https://docs.docker.jp/compose/compose-file.html#labels
***ports/expose [#c5970dcf]
-https://docs.docker.jp/compose/compose-file.html#ports
>「ホスト側:コンテナ側」と書けば安定。
-https://docs.docker.jp/compose/compose-file.html#expose
>「コンテナ側」と書く。
***volumes/volumes_from [#tfc111ad]
-https://docs.docker.jp/compose/compose-file.html#volumes...
>「ホスト側:コンテナ側」と書けば安定。~
-ホスト側を「.」とすると、docker-compose.ymlの位置にマウ...
-なので、「./data:/data」などと書くと、解り易いと思われる。
-https://docs.docker.jp/compose/compose-file.html#volumes...
***links/depends_on [#ub93df35]
-https://docs.docker.jp/compose/compose-file.html#links
-https://docs.docker.jp/compose/compose-file.html#depends...
*コマンド [#ad911976]
-[[前述>#fafc6ee2]]のように、基本は、カレントの、~
docker-composeファイルに記述の範囲のサービスに作用する。
-カレント・ディレクトリの以下のdocker-composeファイルが対象
--docker-compose.yml
--docker-compose.yaml
--docker-compose.override.yml
--docker-compose.override.yaml
-コマンドに
--「-f」を付与し、ファイルを明示することも可能。
-- 「--remove-orphans」を付与し、ファイルで定義されていな...
**基本コマンド [#ga0cd21b]
***バージョン確認 [#s2a731d9]
>C:\Users\nishi>docker-compose -v
docker-compose version 1.24.1, build 4667896b
***確認 [#vfcc0ce5]
-ps
>docker-compose ps -q
--構文
docker-compose ps [Option] [ServiceName...]
--オプション
--- -q : ID のみ表示
-logs
>docker-compose logs
--構文
docker-compose logs [Option] [ServiceName...]
--オプション
--- --no-color : 白黒で画面に出力
--- --follow(-f) : ログの出力をフォロー(表示しつづける)
--- --timestamps(-t) : タイムスタンプの表示
--- --tail : 各コンテナのログの最終行から遡った行を表示
***開始 [#r9c0d903]
>docker-compose up -d
>※ &color(red){-dを付与しない場合は、フォアグラウンドで動...
-構文
docker-compose up [Option] [ServiceName...]
-オプション
--実行(二者択一)
--- -d : バックグラウンドでコンテナを実行
--- --abort-on-container-exit : コンテナが1つでも停止し...
--再作成(二者択一)
--- --force-recreate : 変更がなくても、コンテナを再作成する
--- --no-recreate : コンテナが既に存在していれば、再作成...
--その他
--- --no-color : 白黒で画面に表示
--- --no-deps : リンクしたサービスを表示しない
--- --no-build : イメージが見つからなくてもbuild しない
--- --timeout(-t) TIMEOUT : 停止する時のタイムアウト秒数...
--- --remove-orphans : ファイルで定義されていないサービス用
***停止 [#y7b7bb10]
-通常の停止
>docker-compose stop
--構文
docker-compose stop [Option] [ServiceName...]
--オプション
---timeout(-t) TIMEOUT : 停止する時のタイムアウト秒数を指...
-強制の停止
>docker-compose kill -s SIGINT
--構文
docker-compose kill [Option] [ServiceName...]
--オプション
--- -s : コンテナに送信するシグナル。デフォルトのシグナル...
***再開 [#af93fad0]
>docker-compose start
--構文
docker-compose start [ServiceName...]
--オプション~
なし
***再起動 [#zbd59ec6]
>docker-compose restart
--構文
docker-compose restart [Option] [ServiceName...]
--オプション
---timeout(-t) TIMEOUT : 停止する時のタイムアウト秒数を指...
***中断・再開 [#u5906005]
-中断
>docker-compose pause
--構文
docker-compose pause [ServiceName...]
--オプション~
なし
-再開
>docker-compose unpause
--構文
docker-compose unpause [ServiceName...]
--オプション~
なし
***削除 [#e47323a2]
-個別削除
>docker-compose rm
--構文
docker-compose [Option] [ServiceName...]
--オプション
--- --force(-f) : 確認なく削除する
--- -v : アタッチしたアノニマス・ボリュームも削除
--- --all(-a) : docker-compose run で作成した一度だけのコ...
-全削除
>docker-compose down
--構文
docker-compose down [Option]
--オプション
--- --rmi type : イメージの削除。type は'all' or 'local'
--- --volumes(-v) : 名前付きボリューム、アタッチしたアノ...
--- --remove-orphans : ファイルで定義していないサービス用...
**個別のコンテナ操作 [#ud870602]
***コンテナ操作 [#g967375c]
>docker-compose run webapplication1 /bin/bash
root@041a67b9c5dc:/#
***コンテナ構成の確認 [#cd50bd7d]
-公開ポートの確認
>docker-compose port webapplication1 80
--構文
docker-compose port [Option] ServiceName Private_Port
--オプション
--- --protocol=proto : tcp or udp [Default : tcp]
--- --index=index : コンテナのインデックス数 [Default : 1]
-構成の確認
>docker-compose config
--構文
docker-compose config [Option]
--オプション
--- --quiet(-q) : 認証設定以外のメッセージを表示しない
--- --services : サービス名を1行で表示
***コンテナのスケールアウト [#j786b0e3]
>docker-compose up --scale webapplication1=3
-構文
docker-compose up --scale [ServiceNameA=n...]
-オプション~
なし
**その他のコマンド [#m542fbf2]
***イメージのビルド [#h9fa64cd]
>docker-compose up --build
**[[リファレンス>#q28bc59d]] [#gd28212b]
*用例 [#b2715a38]
以下が参考になる。
**各種サービス [#yf5e8328]
各種XXXXをDockerコンポーズ化する。
***[[各種NoSQL編>各種NoSQLをDockerコンポーズ化する。]] [#...
***[[各種RDBMS編>各種RDBMSをDockerコンポーズ化する。]] [#...
***参考 [#o5730b3f]
-docker-composeでデータベースコンテナを立てるときのTips~
https://muunyblue.github.io/9f067d8d6df2d4b8c64fb4c084d6c...
**[[K8s>Kubernetes]]連携 [#l96b05d0]
***[[Kompose]] [#h876e9dd]
***[[Compose on Kubernetes]] [#l5119673]
**マイクロソフト系技術情報 Wiki [#h39b8c85]
***[[Docker for Windows>https://techinfoofmicrosofttech.o...
***[[Visual Studio Tools for Docker>https://techinfoofmic...
***[[Visual Studio Kubernetes Tools>https://techinfoofmic...
*参考 [#gd128c02]
**docker.com [#y7bdd83a]
***Compose [#k61ad89b]
-https://docs.docker.com/compose/
-https://docs.docker.jp/compose/
***Compose file [#bdfb82de]
-https://docs.docker.com/compose/compose-file/
-https://docs.docker.jp/compose/compose-file.html
***Compose command [#q28bc59d]
-https://docs.docker.com/compose/reference/
-http://docs.docker.jp/compose/reference/
--https://docs.docker.jp/compose/reference/toc.html
--https://docs.docker.jp/compose/reference/index.html
**Qiita [#o4e38f73]
-Docker Compose - docker-compose.yml リファレンス~
https://qiita.com/zembutsu/items/9e9d80e05e36e882caaa
-docker-compose コマンドまとめ~
https://qiita.com/wasanx25/items/d47caf37b79e855af95f
-丁寧すぎるDocker-composeによる~
rails5 + MySQL on Dockerの環境構築(Docker for Mac)~
https://qiita.com/azul915/items/5b7063cbc80192343fc0
**さくらのナレッジ [#bf428c8f]
-連載:Docker Compose入門
--(1) ~アプリケーションをコンテナで簡単に扱うためのツー...
https://knowledge.sakura.ad.jp/21387/
--(2) ~ウェブサーバの開発環境を作るための準備~~
https://knowledge.sakura.ad.jp/23632/
--(3) ~ネットワークの理解を深める~~
https://knowledge.sakura.ad.jp/23899/
--(4) ~ネットワークの活用とボリューム~~
https://knowledge.sakura.ad.jp/26522/
ページ名: