【发布时间】:2019-06-29 08:41:25
【问题描述】:
这段代码在我的机器上完美运行,但在 Docker 中不行,我没有找到任何关于它的文档。
clientSocket = new Socket();
SocketAddress sockaddr = new InetSocketAddress(propertyFile.getProperty("tcp.pod.ip"),
Integer.parseInt(propertyFile.getProperty("tcp.pod.port")));
clientSocket.connect(sockaddr, 150);
clientSocket.setTcpNoDelay(true);
在docker中不起作用的部分是clientSocket connect timeout(第二个参数),它采用默认超时而不是我传递给他的那个。其他一切都完美无缺。
【问题讨论】:
-
请添加您的 Dockerfile 的内容。你使用 EXPOSE 指令了吗?
-
这个套接字在你的主机上运行,你想从你的容器连接到它吗?
-
定义'不起作用'。
-
是吗?默认超时比如什么?
-
'再也见不到'与'采用默认超时'相矛盾,大约一分钟。
标签: java docker sockets tcp docker-compose