質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

1321閲覧

docker-compose.ymlを使って、すべてのアプリを立ち上げたい

Discord

総合スコア51

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2020/07/29 05:08

編集2020/07/29 07:06

今まで複数のリポジトリでアプリケーションを管理してたのですが、一つのリポジトリで管理できるように、今までのリポジトリをgit submoduleを利用して、一つのリポジトリにまとめました。
複数のリポジトリはそれぞれdocker-compose.ymlを利用して、docker起動できるようにしていました。

parent_hoge(リポジトリ)
| - web
| - app_sub1(git submoduleで追加したもの)
| | - 各種ファイル
|   | - docker-compose.yml
| - app_sub2(git submoduleで追加したもの)
| | - 各種ファイル
|   | - docker-compose.yml
| - app_sub3(git submoduleで追加したもの)
| | - 各種ファイル
|   | - docker-compose.yml
|
|- docker-compose.yml

上記のような状態になっているのですが、parent_hoge直下にあるdocker-compose.ymlを利用して、git submoduleで追加した、app_sub1、app_sub2、app_sub3のアプリケーションをすべて立ち上げることは可能でしょうか。

可能だった場合、parent_hoge直下にあるdocker-compose.ymlにはapp_sub1、app_sub2、app_sub3の下にある、docker-compose.ymlの内容を記載することで起動できるのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

僕が調べた限りでは、Compose ファイルの最新バージョンである 3 系では
docker-compose.yml を使ってまとめる方法は見つかりませんでした

Compose ファイルバージョン 2 では extends という記法があり、
他の Compose ファイルを参照することができます
Extending services | Share Compose configurations between files and projects | Docker Documentation

Compose ファイルバージョン 3 では、
Compose ファイルでまとめることができない代わりに、
docker-compose コマンドで複数の Compose ファイルを指定することができます:

console

1docker-compose -f web/app_sub1/各種ファイル/docker-compose.yml -f web/app_sub2/各種ファイル/docker-compose.yml -f web/app_sub3/各種ファイル/docker-compose.yml up

このとき、同じサービスを定義していた場合、
Compose ファイルの内容が統合されます

内容の統合時には、サービスの定義内で同じ内容に別の値を定義していると
後に指定した Compose ファイルの内容でサービスの各定義が上書きされます

詳しくは次の記事を参照すると詳しい解説があります:
Share Compose configurations between files and projects | Docker Documentation

投稿2020/08/04 01:54

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Discord

2020/08/04 02:54

ありがとうございます。 参考のURLも拝見させていただきました。 複数のComposeファイルを指定してみたいと思います。
guest

0

可能です。ご認識いただいている通り、submodule下のdocke-rompose.yamlに記載している内容を全てparent_hogeに寄せることで1つのcomposerとして稼働させることができます。

投稿2020/08/03 15:43

yurak

総合スコア160

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Discord

2020/08/04 02:56

ありがとうございます。 一つにすることができるのですね。 ただ、具体的なやり方がわからず、複数のComposeファイルを指定することができるという、上記の方をベストアンサーに選ばさせていただきました。 またよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問