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

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

新規登録して質問してみよう
ただいま回答率
85.31%
Git

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

Docker

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

意見交換

クローズ

4回答

1096閲覧

docker環境とアプリの依存、gitリポジトリに関して

8ZiSj5hy

総合スコア1

Git

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

Docker

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

0グッド

0クリップ

投稿2023/09/28 02:38

編集2023/09/28 02:39

0

0

テーマ、知りたいこと

docker環境とアプリは、その程度依存関係にあるべきか?
また、gitリポジトリの適切な配置について、ご意見をお聞かせいただきたいです。

背景、状況

例えば、laravelで構築したアプリ(nginx+PHP+MySql)が複数あった場合、
gitは下記の様に、アプリごとにリポジトリを分割するかと思います。

  • abc/laravel01
  • abc/laravel02
  • abc/laravel03

そこで質問となりますが、
上記の場合、docker環境(dockerfile や docker-compose.yml)は各アプリに含めますか?
それとも、別リポジトリを切って管理しますか?
もしくは、ほぼ同じ環境の場合は統一化し、管理しますか?
各管理方法に対するメリット、デメリット等、皆様のご意見を伺いたいです。
よろしくお願いいたします。

前提条件

各laravelアプリは、laravelで構築した以外は別物のアプリ(DB構成やファイル構成等)
ただし、docker環境は、ほとんど差分無し(container_nameが違う程度)
としてご回答いたければと思います


  • 各アプリに含めるパターン
laravel01 ├─docker │ └─php/dockerfile ├─src/laravel └─docker-compose.yml laravel02 ├─docker │ └─php/dockerfile ├─src/laravel └─docker-compose.yml
  • 別リポジトリを切って管理パターン
laravel01 ├─app ├─config │ └・・・ laravel01-docker ├─docker │ └─php/dockerfile └─docker-compose.yml laravel02 ├─app ├─config │ └・・・ laravel02-docker ├─docker │ └─php/dockerfile └─docker-compose.yml

  • 環境を共通化するパターン
laravel01 ├─app ├─config │ └・・・ laravel02 ├─app ├─config │ └・・・ base-docker ├─docker │ └─php/dockerfile └─docker-compose.yml

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

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

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

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

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

回答4

#1

maisumakun

総合スコア146544

投稿2023/09/28 02:42

編集2023/09/28 02:54

真ん中の「別リポジトリを切って管理パターン」というのには、どのようなメリットがあるとお考えでしょうか?

共通化するわけでもなければプロジェクトに入れるわけでもない、という形について、管理工数が増えるのに見合ったメリットは自分には見いだせませんでした。

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

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

#2

8ZiSj5hy

総合スコア1

投稿2023/09/28 07:26

ご回答ありがとうございます。

メリットをみいだすのであれば、
docker以外への環境へのリリースがスムーズ くらいでしょうか?
それなら、「環境を共通化するパターン」でいいじゃん とは思いますが、

他のメリットを見いだせた方のご意見も伺いたいところではあります

また、プロジェクトに入れる=アプリに依存する と考えておりますが、
この様な(プロジェクトに入れる)構成におきまして、何か不都合が起きた事はございますでしょうか?

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

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

#3

maisumakun

総合スコア146544

投稿2023/09/28 08:02

プロジェクトに入れる=アプリに依存する と考えておりますが

自分としては、逆に「アプリに依存しているからプロジェクトに入れる」という考えだったのですが、このような書き方をするということは、自分が考えている方向性となにかしらの前提条件が違うのかもしれないと思いました。

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

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

#4

8ZiSj5hy

総合スコア1

投稿2023/09/28 10:45

「アプリに依存しているからプロジェクトに入れる」

なるほど、目から鱗です
個人的にはアプリは環境に依存すべきでない と思い込んでおりましたが、
確かにdockerfileはFROMひとつ取ってみても、「PHP:8.2」と「PHP:5.3」ではアプリの構成そのものが変わりそうです。
そう言う意味では、アプリに依存していると言えますね。

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

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

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問