使用Python在Mac OS上的docker内部服务器上与服务器的TCP连接上客户端的管道断开

时间:2018-07-03 03:02:43

标签: python sockets docker tcp

我有一个client.py将数据发送到(server_ip,60000)。接收数据的服务器端代码位于docker容器中。代码使用Python,服务器在Mac OS上运行。在迁移到docker之前,我可以成功传输数据。在将server.py代码泊坞化之后,将发生绑定,但是位于connection.sendall(out)的client.py说:

socket.error: [Errno 32] Broken pipe

这是我的docker-compose.yml:

version: '2'
services:
  server:
    build: ./server
    ports:
      - server_IP:60000:60000

这是server.py中的绑定:

port = 60000                   
host = "localhost"  

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

好吧,我可以通过在docker内部将服务器端的主机设置为0.0.0.0并删除-重建映像来修复它。一切正常。