无法使用http:// localhost:8080 / getAll访问我在容器中运行的应用

时间:2018-07-26 11:39:09

标签: docker

我有一个Spring Boot应用程序,其中公开了一个Web服务'/ getAll',该服务从数据库中获取记录

这是我的dockerFile

FROM openjdk:8
LABEL maintainer="xxxx"
ADD chinmayee.jar assembly.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=container","-jar","/assembly.jar"]

这是application.yml

 spring:
      profiles: container
      datasource:
        url: jdbc:mysql://${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_NAME}
        username: ${DATABASE_USER}
        password: ${DATABASE_PASSWORD}
        initialize: true
        tomcat:
          max-active: 1
      jpa:
        database-platform: org.hibernate.dialect.MySQLDialect

我使用这些命令来调出容器

docker run -d \
    --name demo-mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -e MYSQL_DATABASE=chinmayee \
    -e MYSQL_USER=scott \
    -e MYSQL_PASSWORD=tiger \
    mysql:latest

docker run -d \
    --name spring-boot-app \
    --link demo-mysql:mysql \
    -p 8080:8080 \
    -e DATABASE_HOST=demo-mysql \
    -e DATABASE_PORT=3306 \
    -e DATABASE_NAME=chinmayee \
    -e DATABASE_USER=scott \
    -e DATABASE_PASSWORD=tiger \
    chinmayee/chinmayee

容器已经起来了,但是我在http://localhost:8080/getAll上得到了404

我想念什么吗?

1 个答案:

答案 0 :(得分:0)

您的应用程序的REST api可能没有/getAll端点。

这就是为什么您收到的回复是 404未找到的原因。服务器已启动,但找不到请求的内容。

  

HTTP 404

     

HTTP 404 404未找到 404 错误消息是Hypertext Transfer Protocol(HTTP)standard response code在计算机网络通信中,表示客户端能够与给定服务器进行通信但服务器找不到请求的内容

     

当用户尝试访问断开或无效的链接时,网站托管服务器通常会生成“ 404未找到”网页。