回答編集履歴

1

回答が間違っていたので修正

2021/07/11 15:49

投稿

hentaiman
hentaiman

スコア6415

test CHANGED
@@ -1,3 +1,85 @@
1
+ 最初に回答が間違っていたので改めて[公式ドキュメント](https://docs.docker.jp/engine/userguide/networking/dockernetworks.html)を元に**手元で試して確認**しました
2
+
3
+ `windows`で試した手順なので、windowsじゃない場合は`findstr`を`grep`に置き換えるなどして適当に読み替えてください
4
+
5
+ 以下、docker networkを明示的に割り当てない場合
6
+
7
+
8
+
9
+ #### デフォルトで使っているネットワークの確認
10
+
11
+ ```powershell
12
+
13
+ docker network inspect bridge
14
+
15
+ # bridgeじゃない場合は network ls でネットワーク名を確認
16
+
17
+
18
+
19
+ ~~~中略~~~
20
+
21
+ "Config": [
22
+
23
+ {
24
+
25
+ "Subnet": "172.17.0.0/16",
26
+
27
+ "Gateway": "172.17.0.1"
28
+
29
+ }
30
+
31
+ ]
32
+
33
+ ~~~中略~~~
34
+
35
+ ```
36
+
37
+ #### 各コンテナに割り当てられているIPの確認
38
+
39
+ ```powershell
40
+
41
+ docker container inspect pythonコンテナ名|findstr 172
42
+
43
+ ~~~中略
44
+
45
+ "Gateway": "172.17.0.1",
46
+
47
+ "IPAddress": "172.17.0.3",
48
+
49
+ "Gateway": "172.17.0.1",
50
+
51
+ "IPAddress": "172.17.0.3",
52
+
53
+ ~~~
54
+
55
+ ```
56
+
57
+ この例で言うと`172.17.0.3`の部分がIPです。
58
+
59
+
60
+
61
+ #### nginxのconfの修正
62
+
63
+ ```
64
+
65
+ upstream django {
66
+
67
+ ip_hash;
68
+
69
+ server 172.17.0.3:8001;
70
+
71
+ }
72
+
73
+ ```
74
+
75
+
76
+
77
+
78
+
79
+ # 旧回答
80
+
81
+
82
+
1
83
  > docker-composeを使用せずに環境構築しており
2
84
 
3
85
 
@@ -18,23 +100,11 @@
18
100
 
19
101
  のようにコンテナ名を指定しての通信は出来ません
20
102
 
21
- ```
22
-
23
- upstream django {
24
-
25
- ip_hash;
26
-
27
- server 127.0.0.1:8001;
28
-
29
- }
30
-
31
- ```
32
-
33
- のようにIPに書き換えるか、networkを設定する事で繋がるようになります
103
+ ~~のようにIPに書き換えるか、networkを設定する事で繋がるようになります
34
104
 
35
105
  今回はIPに書き換えるのが簡単でよろしいでしょう
36
106
 
37
-
107
+ ~~
38
108
 
39
109
 
40
110