在docker上运行但不可访问的Java ReST服务
我是新来的码头工人 Docker版本18.03.0-ce,版本0520e24,在RHEL 7上运行 我使用创建了一个简单的ReST服务。uber jar在我的windows机器上运行良好,我可以通过浏览器访问该服务 Dockerfile:在docker上运行但不可访问的Java ReST服务,docker,Docker,我是新来的码头工人 Docker版本18.03.0-ce,版本0520e24,在RHEL 7上运行 我使用创建了一个简单的ReST服务。uber jar在我的windows机器上运行良好,我可以通过浏览器访问该服务 Dockerfile: # fetch basic image FROM openjdk:latest # application placed into /opt/app RUN mkdir -p /opt/app WORKDIR /opt/app # local applic
# fetch basic image
FROM openjdk:latest
# application placed into /opt/app
RUN mkdir -p /opt/app
WORKDIR /opt/app
# local application port
EXPOSE 8080
现在,我执行以下步骤
1.树立形象
docker build --tag=java-rest
2.运行容器
docker run -p 18080:8080 -t -i java-rest
docker cp /localhome/ojoqcu/code/java/gs-rest-service-0.1.0.jar 38ec56c99135:/opt/app/gs-rest-service-0.1.0.jar
3.检查集装箱是否已升起
[root@l5341t ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38ec56c99135 java-rest "bash" About a minute ago Up About a minute 0.0.0.0:18080->8080/tcp infallible_yalow
4.将jar文件复制到容器中
docker run -p 18080:8080 -t -i java-rest
docker cp /localhome/ojoqcu/code/java/gs-rest-service-0.1.0.jar 38ec56c99135:/opt/app/gs-rest-service-0.1.0.jar
5.运行容器和罐子
docker run -p 18080:8080 -t -i java-rest
root@38ec56c99135:/opt/app# ls
gs-rest-service-0.1.0.jar
root@38ec56c99135:/opt/app#
root@38ec56c99135:/opt/app#
root@38ec56c99135:/opt/app# java -jar gs-rest-service-0.1.0.jar
6.在容器上,应用程序正在运行
root@38ec56c99135:/opt/app# ps -eaf
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 13:43 pts/0 00:00:00 bash
root 8 1 0 13:47 pts/0 00:00:14 java -jar gs-rest-service-0.1.0.
root 54 0 0 14:16 pts/1 00:00:00 bash
root 60 54 0 14:17 pts/1 00:00:00 ps -eaf
答复如下:
1.来自同一台机器(RHEL 7)
我没有深入研究Spring代码(它在WIndows/Linux机器上运行得很好,但在容器中却不行!),但问题似乎真正在于代码,而不是Docker配置。我在第2页找到了答案。。带Spring的docker正在响应,但表示您没有配置任何/path。可能示例REST有一个@RequestMapping(“/greeting”),因此您应该调用。从本地RHEL 7机器,你不应该连接到8080而不是18080吗?