Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何运行Docker映像并查看工作应用程序?_Java_Spring Boot_Docker_Gradle_Jib - Fatal编程技术网

Java 如何运行Docker映像并查看工作应用程序?

Java 如何运行Docker映像并查看工作应用程序?,java,spring-boot,docker,gradle,jib,Java,Spring Boot,Docker,Gradle,Jib,我用Java创建了一个示例web应用程序(使用Gradle和SpringBoot),然后用Jib将其固定。在我的build.gradle文件中有一行:“ports=['9090']”,因为我想在此端口上查看web应用程序。在我的application.properties文件中有一行:“server.port=9090” Docker图像成功创建。但是当我运行这个图像时,我看不到它工作的结果。 如果我运行jar文件,一切都正常。Web应用程序在9090端口上工作 当我执行命令docker run

我用Java创建了一个示例web应用程序(使用Gradle和SpringBoot),然后用Jib将其固定。在我的build.gradle文件中有一行:“ports=['9090']”,因为我想在此端口上查看web应用程序。在我的application.properties文件中有一行:“server.port=9090”

Docker图像成功创建。但是当我运行这个图像时,我看不到它工作的结果。 如果我运行jar文件,一切都正常。Web应用程序在9090端口上工作

当我执行命令docker run时,我希望看到我的web应用程序工作。 如何更改映像或其他任何内容(NettyWebServer属性)的端口以查看该端口上正在运行的映像? 你能帮我解决这个问题吗?
谢谢。

如果您希望docker映像中的端口与本地环境中的端口不同,您可以使用
Dockerfile中的此命令复制不同的
应用程序.properties
文件,其中
服务器.port=XXXX
是指定的

COPY ./src/main/resources/docker-application.properties /opt/my-app/docker-application.properties
然后在您的
entrypoint.sh

java -jar /opt/my-app/my-app-0.0.1-SNAPSHOT.jar --spring.config.location=/opt/my-app/docker-application.properties
使用工具(be maven或gradle)构建应用程序后,您需要运行以下命令(假设您使用
Dockerfile
等位于应用程序目录中)

所需的\u端口
是您将放在URL中的端口。
docker\u应用程序\u属性\u端口是您在
docker应用程序.properties
文件中指定的端口


如果您运行的是
Windows操作系统
,那么许多用户在尝试使用
127.0.0.1:9090
时会犯错误。您应该尝试使用
192.168.99.100:9090
,如果它不起作用,则需要运行
CMD
,然后运行
ipconfig/all
,并查找类似
以太网适配器(DockerNet)的内容
然后查看那里的
IP

看看这里:也许你必须将端口传递给容器。你的操作系统是什么?你是这样运行的
docker run-p 9090:9090
?这意味着将容器内的端口
9090
映射到主机1上的
9090
。我的操作系统是Win10.2。我试着这样做:docker run-d-p9090:9090 47ab55bdf5b7它对我没有帮助。C:\Users\gazinaa>docker run-d-p 9090:9090 47ab55bdf5b7 2DAC0A50D8A528E5895075F22498604AF9BCF58FD212D3A111286AA59C824803A但映像未在此端口启动。非常感谢您的帮助无问题:)我假设它解决了您的问题?是的!)现在我看到在正确的端口上运行docker图像)太棒了!您可以通过执行
docker logs-f my app
查看日志,或者使用
docker exec-it my app sh
Pijotrek使用SSH查看日志,当放入docker文件时,我得到FileNotFoundException:COPY.src/main/resources/docker-application.properties/opt/my app/docker-application.properties
docker build -t my-app .
docker run -d -p [desired_port]:[docker_application_properties_port] --name my-app my-app