我是 docker 新手,我构建了一个 spring boot 应用程序,它使用在端口 1521:1521 的容器中运行的 oracle SQL 当使用 IntelliJ 运行应用程序时,一切正常,但是当我制作这个简单的 docker 映像时
FROM openjdk:17-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ./target/webpage-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
构建并使用命令运行它
docker run -p 8080:8080 webapp
我收到错误
网络适配器无法建立连接
我相信这是由于无法连接数据库容器造成的。我怎样才能让它发挥作用? 此外,这个应用程序正在使用环境变量,是否应该将它们以某种方式分配给 dockerfile?
首先,我建议尝试弄清楚您是否可以从 docker 容器内部连接到数据库,例如:
docker exec -it <mycontainer> sh
您可以在容器内放置一个 shell,然后使用 telnet 进行测试。
一般来说,这对我来说听起来更像是一个设置问题,而不是容器本身的问题。