尝试在两个不同的主机上连接两个容器,一个在另一台计算机上的VM上,另一个容器托管在odroid ubuntu上

时间:2019-02-04 11:48:34

标签: docker docker-network

我正在尝试连接两个容器。使用WiFi在VM上的另一台计算机上以及在odroid板上的另一台计算机上。使用套接字编程将它们两者连接。除下面定义的代码外,我没有做任何其他设置。我在客户端遇到问题:

  

守护程序的错误响应:无法获取容器的骆驼:没有这样的容器:camelot。

$ docker run --name camelot -it -p 5000 --rm python
Python 3.5.2 (default, Jul  8 2016, 19:17:03) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import socketserver
>>> 
>>> class MyHandler(socketserver.BaseRequestHandler):
...     def handle(self):
...         self.data = self.request.recv(2048).strip()
...         print('{} wrote: '.format(self.client_address[0]))
...         print(self.data)
...         self.request.sendall(self.data.upper())
... 
>>> 
>>> server = socketserver.TCPServer(('0.0.0.0', 5000), MyHandler)
>>> server.serve_forever()
//////////////////////////////////////////////////////
$ docker run --rm -it --link camelot python
Python 3.5.2 (default, Jul  8 2016, 19:17:03) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import socket
>>> 
>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> s.connect((os.environ['CAMELOT_PORT_5000_TCP_ADDR'],
...            int(os.environ['CAMELOT_PORT_5000_TCP_PORT'])))
>>> s.send(b'Hey !')

>>> print(s.recv(2048))
b'HEY !'
>>> s.close()

0 个答案:

没有答案