客户端应用程序将 json
数据发送到 localhost:8080 上的服务器,该数据打包并作为 Docker 镜像运行。使用 Postman chrome 应用程序手动发送 json 时,服务器工作正常。问题在于,当尝试将 json
写入 时,dockerized client 会抛出
。如何让它发挥作用?java.net.ConnectException:连接被拒绝(连接被拒绝)
使用 OutputStreamWriter
的 HttpURLConnection
Dockerfile:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/client-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
EXPOSE 8088
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
最佳答案
两个客户端应在同一网络上运行。
因此创建一个网桥MY_BRIDGE
:
docker network create MY_BRIDGE
运行时将两个容器附加到桥上。为服务器容器命名MY_SERVER
:
docker run --network MY_BRIDGE --name MY_SERVER MY_SERVER_IMAGE
docker run --network MY_BRIDGE MY_CLIENT_IMAGE
在运行客户端容器之前,您的应用程序代码必须从 localhost:8080
更改为 MY_SERVER:8080
。
关于java - docker 容器内的 Spring 启动抛出 java.net.ConnectException : Connection refused (Connection refused),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52046211/