回答編集履歴
3
削除依頼が却下されたと連絡が来たので削除依頼についての記述を削除
test
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
(削除依頼後に書き直したので削除は不要です)
|
2
|
-
|
3
|
-
|
4
|
-
|
5
1
|
docker-composeがビルドするimage名が重複しているためではないかと思います。
|
6
2
|
|
7
3
|
|
2
内容を全面的に修正しました
test
CHANGED
@@ -1,59 +1,57 @@
|
|
1
|
-
|
1
|
+
(削除依頼後に書き直したので削除は不要です)
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
docker-compose
|
5
|
+
docker-composeがビルドするimage名が重複しているためではないかと思います。
|
8
|
-
|
9
|
-
1つめと2つめで同じコンテナ名を用いているので、1つめに立ち上げた同名のコンテナの操作になってしまったと思われます。
|
10
6
|
|
11
7
|
|
12
8
|
|
13
|
-
|
9
|
+
imageをビルドするとき、ビルドしようとするimageと同名の古いimageですでに動作中のコンテナは止められます。
|
14
10
|
|
15
11
|
|
16
12
|
|
17
|
-
|
13
|
+
docker-composeがビルドを行うとき、image名は以下のように決まります。
|
18
|
-
|
19
|
-
2. `container_name`の指定をやめてdocker-composeが自動的に生成する名前を使う
|
20
14
|
|
21
15
|
|
22
16
|
|
23
|
-
|
17
|
+
* `docker-compose.yml`内で`image`で明示的に指定されていればその名前
|
18
|
+
|
19
|
+
* 指定が無ければ <プロジェクト名>_<サービス名>
|
24
20
|
|
25
21
|
|
26
22
|
|
23
|
+
今回の場合、`image`の記述はないので後者になっているはずですが、サービス名は両方の`docker-compose.yml`で共通のものを使っているので
|
24
|
+
|
27
|
-
|
25
|
+
プロジェクト名が重複していたらimage名が重複します。
|
28
26
|
|
29
27
|
|
30
28
|
|
31
|
-
<プロジェクト名>
|
29
|
+
<プロジェクト名>の指定方法は優先度の高い順に以下の通りです。
|
32
30
|
|
33
31
|
|
34
32
|
|
35
|
-
<サービス名>はdocker-compose.ymlで定義したサービス名です。
|
36
|
-
|
37
|
-
<通番>は通常は1で-scaleオプションで複数立ち上げるとき2,3,...と増えていきます。
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
<プロジェクト名>はすこしややこしいです。以下の順に優先して使われます。
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
* -pオプション
|
33
|
+
* `-p`オプション
|
46
34
|
|
47
35
|
* 環境変数`COMPOSE_PROJECT_NAME`
|
48
36
|
|
49
37
|
* `.env`ファイルで指定した`COMPOSE_PROJECT_NAME`
|
50
38
|
|
51
|
-
* docker-compose.ymlが置かれているディレクトリのディレクトリ名(`/foo/bar/baz/docker-compose.yml`なら`baz`)
|
39
|
+
* `docker-compose.yml`が置かれているディレクトリのディレクトリ名(`/foo/bar/baz/docker-compose.yml`なら`baz`)
|
52
40
|
|
53
41
|
|
54
42
|
|
55
|
-
|
43
|
+
特に最後のディレクトリ名は重複しがちです。(例: ソースツリー内にdockerの設定を含めるときに、固定で`docker`という名前のサブディレクトリ下に置いている)
|
56
44
|
|
57
45
|
|
58
46
|
|
59
|
-
|
47
|
+
この問題に対処するには以下のどちらかです。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
* image名を重複しないように`docker-compose.yml`内で明示的に`image`で指定する
|
52
|
+
|
53
|
+
* プロジェクト名が重ならないようにする
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
同じホストで複数のアプリケーションをdocker-composeで立ち上げようとするならプロジェクト名は別々にするのが望ましいです。重複しないようにディレクトリ名を変えるか`.env`ファイルで指定するのがいいのではないでしょうか。
|
1
削除依頼中
test
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
すいません、コンテナ名よくみたらlaravel_とlumen_で違っていたので以下は忘れてください。削除依頼中。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
|
1
7
|
docker-compose.ymlで`container_name`を使って明示的にコンテナ名を指定していますが、
|
2
8
|
|
3
9
|
1つめと2つめで同じコンテナ名を用いているので、1つめに立ち上げた同名のコンテナの操作になってしまったと思われます。
|