teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

9

試したことを追加

2020/03/31 03:29

投稿

xsteviax
xsteviax

スコア14

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

内容の修正

2020/03/31 03:29

投稿

xsteviax
xsteviax

スコア14

title CHANGED
@@ -1,1 +1,1 @@
1
- 2つのDockerコンテナ間でTCP通信がしたい
1
+ 2つのDockerコンテナ間で通信がしたい
body CHANGED
File without changes

7

内容の修正

2020/03/30 09:07

投稿

xsteviax
xsteviax

スコア14

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.18.0.2', 11113)
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.18.0.2', 11113))
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.18.0.2', 11113))
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.18.0.3', 11113))
55
+ response, addr = client.poll_server("Hello world", server=('172.17.0.2', 11113))
56
56
  print(response, addr)
57
57
  ```
58
58
 

6

内容の修正

2020/03/30 08:20

投稿

xsteviax
xsteviax

スコア14

title CHANGED
@@ -1,1 +1,1 @@
1
- 2つのコンテナ間でTCP通信がしたい
1
+ 2つのDockerコンテナ間でTCP通信がしたい
body CHANGED
File without changes

5

内容の修正

2020/03/30 06:30

投稿

xsteviax
xsteviax

スコア14

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

内容の修正

2020/03/30 06:28

投稿

xsteviax
xsteviax

スコア14

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

間違えを修正

2020/03/30 06:27

投稿

xsteviax
xsteviax

スコア14

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 18.09.7 |
64
+ | Docker | version 19.03.7 |
65
65
  | sockets | version 1.0.0 |

2

内容の修正

2020/03/30 06:12

投稿

xsteviax
xsteviax

スコア14

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

内容の修正

2020/03/30 06:07

投稿

xsteviax
xsteviax

スコア14

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