代码之家  ›  专栏  ›  技术社区  ›  Theo

从Docker运行Spring Boot应用程序不起作用

  •  -1
  • Theo  · 技术社区  · 6 年前

    我有一个相当奇怪的问题。我正在尝试通过Docker运行一个Spring引导应用程序。下面是我的步骤。

    1)我正在创建dockerfile。

    FROM centos
    
    RUN yum install -y java
    
    VOLUME /tmp
    ADD /spring-boot-web-0.0.1-SNAPSHOT.jar myapp.jar
    RUN sh -c 'touch /myapp.jar'
    ENTRYPOINT [“java","-Djava.security.egd=file:/dev/./urandom","- 
    jar","/myapp.jar"]
    

    在这个文件中,我正在安装Java。我也在使用名为 spring-boot-web-0.0.1-快照.jar

    2)下一步是构建图像。所以我打字

    tmp theodosiostziomakas$ docker build -t spring-boot-docker .
    

    Screenshot 1

    所以图像是正确构建的。

    3)现在我运行该映像来生成容器。所以

    docker run -d -p 8080:8080 spring-boot-docker
    

    Screenshot 2

    您可以看到生成了一个容器。但当我打字时

    $ docker ps
    

    容器ID不可见,当我键入 本地主机:8080 在浏览器中,应用程序根本没有运行。为什么会这样?有什么想法吗?如何修复?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Simon Martinelli    6 年前

    如果您使用的是发布的DOCKFILE文件,那么在Java之前有一个错误的报价符号:

    FROM centos
    
    RUN yum install -y java
    
    VOLUME /tmp
    
    ADD /spring-boot-web-0.0.1-SNAPSHOT.jar myapp.jar
    
    RUN sh -c 'touch /myapp.jar'
    
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/myapp.jar"]