質問編集履歴
9
試したことを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,8 +55,40 @@
|
|
55
55
|
response, addr = client.poll_server("Hello world", server=('172.17.0.2', 11113))
|
56
56
|
print(response, addr)
|
57
57
|
```
|
58
|
+
### 質問の過程で試したこと(追記3/31)
|
59
|
+
#### サーバー側のポートのみ開放
|
60
|
+
- サーバー側の「docker run」
|
61
|
+
```
|
62
|
+
$ docker run -it -v $(pwd)/:/root/ubuntu_socket \
|
63
|
+
-w /root/ubuntu_socket/socket_test -p 11113:11113 --name server_container ubuntu:Sock
|
64
|
+
```
|
65
|
+
- クライアント側の「docker run」
|
66
|
+
```
|
67
|
+
$ docker run -it -v $(pwd)/:/root/ubuntu_socket \
|
68
|
+
-w /root/ubuntu_socket/socket_test --name client_container ubuntu:Sock
|
69
|
+
```
|
70
|
+
#### Dockerデフォルトで作成されるブリッジネットワーク「bridge」に、2つのコンテナが接続されていることを確認
|
71
|
+
- 「bridge」の「netwark inspect」の一部
|
72
|
+
```
|
73
|
+
"Containers": {
|
74
|
+
"8d2b0325708e3a495e985a245326f57b297e68546df1cdf7d61b2cd1030bc869": {
|
75
|
+
"Name": "client_container",
|
76
|
+
"EndpointID": "edd55ed2401674eca6bb8707b04e8856d036bd4e35e2beb97fdc36b2c14c488e",
|
77
|
+
"MacAddress": "02:42:ac:11:00:03",
|
78
|
+
"IPv4Address": "172.17.0.3/16",
|
79
|
+
"IPv6Address": ""
|
80
|
+
},
|
81
|
+
"c77b59eb1042f6e6b48502303c92046419226daae630fbd818d700571eda990b": {
|
82
|
+
"Name": "server_container",
|
83
|
+
"EndpointID": "0c7724a046883dd75f24ec73464dd833c0cb3b8e1ab9f1de05c255648b13c685",
|
84
|
+
"MacAddress": "02:42:ac:11:00:02",
|
85
|
+
"IPv4Address": "172.17.0.2/16",
|
86
|
+
"IPv6Address": ""
|
87
|
+
}
|
88
|
+
},
|
89
|
+
```
|
90
|
+
- サーバー側、クライアント側双方のコンテナ内のターミナルで互いのIPへpingが通ることを確認済
|
58
91
|
|
59
|
-
|
60
92
|
### 補足情報(FW/ツールのバージョンなど)
|
61
93
|
| | 内容(バージョンなど) |
|
62
94
|
| :------------- | :----------------------------- |
|
8
内容の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
2つのDockerコンテナ間で
|
1
|
+
2つのDockerコンテナ間で通信がしたい
|
body
CHANGED
File without changes
|
7
内容の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,14 +11,14 @@
|
|
11
11
|
- サーバー側コンテナ(正常な待機状態)
|
12
12
|
```bash
|
13
13
|
root@48bce5a558f4:~/ubuntu_socket/socket_test# python socket_Server.py
|
14
|
-
Server started. Listening on ('172.
|
14
|
+
Server started. Listening on ('172.17.0.2', 11113)
|
15
15
|
```
|
16
16
|
- クライアント側コンテナ(エラー)
|
17
17
|
```bash
|
18
18
|
root@5521f5ec4a59:~/ubuntu_socket/socket_test# python socket_Client.py
|
19
19
|
Traceback (most recent call last):
|
20
20
|
File "socket_Client.py", line 4, in <module>
|
21
|
-
response, addr = client.poll_server("Hello world", server=('172.
|
21
|
+
response, addr = client.poll_server("Hello world", server=('172.17.0.2', 11113))
|
22
22
|
File "/usr/local/lib/python3.6/dist-packages/sockets/python3/client.py", line 16, in poll_server
|
23
23
|
self.socket.sendto(bytes(data, "utf-8"), server)
|
24
24
|
OSError: [Errno 22] Invalid argument
|
@@ -44,7 +44,7 @@
|
|
44
44
|
def act_on(self, data, addr):
|
45
45
|
# Do something with data (in bytes) and return a string.
|
46
46
|
return data.decode()
|
47
|
-
server = MyServer(listening_address=('172.
|
47
|
+
server = MyServer(listening_address=('172.17.0.2', 11113))
|
48
48
|
server.listen()
|
49
49
|
```
|
50
50
|
- クライアント側コンテナのpythonファイル(socket_Client.py)
|
@@ -52,7 +52,7 @@
|
|
52
52
|
# Test client with Python3. Polls the Python3 server.
|
53
53
|
from sockets.python3.client import Client
|
54
54
|
client = Client()
|
55
|
-
response, addr = client.poll_server("Hello world", server=('172.
|
55
|
+
response, addr = client.poll_server("Hello world", server=('172.17.0.2', 11113))
|
56
56
|
print(response, addr)
|
57
57
|
```
|
58
58
|
|
6
内容の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
2つのコンテナ間でTCP通信がしたい
|
1
|
+
2つのDockerコンテナ間でTCP通信がしたい
|
body
CHANGED
File without changes
|
5
内容の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
### 発生している問題・エラーメッセージ
|
8
8
|
[socketの公式サイト](https://pypi.org/project/sockets/)にあるサンプルプログラムを試したが、通信できなかった。
|
9
9
|
以下に示すように、クライアント側でエラーとなってしまった。
|
10
|
-
公式のサンプルプログラムを2つのコンテナ上で
|
10
|
+
公式のサンプルプログラムを2つのコンテナ上で互いに動作させるにはどうしたらいいでしょうか?
|
11
11
|
- サーバー側コンテナ(正常な待機状態)
|
12
12
|
```bash
|
13
13
|
root@48bce5a558f4:~/ubuntu_socket/socket_test# python socket_Server.py
|
4
内容の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
### 発生している問題・エラーメッセージ
|
8
8
|
[socketの公式サイト](https://pypi.org/project/sockets/)にあるサンプルプログラムを試したが、通信できなかった。
|
9
9
|
以下に示すように、クライアント側でエラーとなってしまった。
|
10
|
+
公式のサンプルプログラムを2つのコンテナ上で通信させるにはどうしたらいいでしょうか?
|
10
11
|
- サーバー側コンテナ(正常な待機状態)
|
11
12
|
```bash
|
12
13
|
root@48bce5a558f4:~/ubuntu_socket/socket_test# python socket_Server.py
|
3
間違えを修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -61,5 +61,5 @@
|
|
61
61
|
| :------------- | :----------------------------- |
|
62
62
|
| ハードウェアー | Dell Precision 3520 (ノートPC) |
|
63
63
|
| OS | Ubuntu 18.04.4 LTS |
|
64
|
-
| Docker | version
|
64
|
+
| Docker | version 19.03.7 |
|
65
65
|
| sockets | version 1.0.0 |
|
2
内容の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
-w /root/ubuntu_socket/socket_test -p 11114:11113 ubuntu:Sock
|
37
37
|
```
|
38
38
|
- サーバー側コンテナのpythonファイル(socket_Server.py)
|
39
|
-
```
|
39
|
+
```python
|
40
40
|
# Test server with Python3:
|
41
41
|
from sockets.python3.server import Server
|
42
42
|
class MyServer(Server):
|
@@ -47,7 +47,7 @@
|
|
47
47
|
server.listen()
|
48
48
|
```
|
49
49
|
- クライアント側コンテナのpythonファイル(socket_Client.py)
|
50
|
-
```
|
50
|
+
```python
|
51
51
|
# Test client with Python3. Polls the Python3 server.
|
52
52
|
from sockets.python3.client import Client
|
53
53
|
client = Client()
|
1
内容の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
$ docker run -it -v $(pwd)/:/root/ubuntu_socket \
|
36
36
|
-w /root/ubuntu_socket/socket_test -p 11114:11113 ubuntu:Sock
|
37
37
|
```
|
38
|
-
- サーバー側コンテナのpythonファイル
|
38
|
+
- サーバー側コンテナのpythonファイル(socket_Server.py)
|
39
39
|
```
|
40
40
|
# Test server with Python3:
|
41
41
|
from sockets.python3.server import Server
|
@@ -46,7 +46,7 @@
|
|
46
46
|
server = MyServer(listening_address=('172.18.0.2', 11113))
|
47
47
|
server.listen()
|
48
48
|
```
|
49
|
-
- クライアント側コンテナのpythonファイル
|
49
|
+
- クライアント側コンテナのpythonファイル(socket_Client.py)
|
50
50
|
```
|
51
51
|
# Test client with Python3. Polls the Python3 server.
|
52
52
|
from sockets.python3.client import Client
|