【问题标题】:How to load the web app folder to docker container如何将 Web 应用程序文件夹加载到 docker 容器
【发布时间】:2019-06-24 23:23:13
【问题描述】:

我是 docker 技术的新手。我在本地机器上运行了一个 Spring Boot 应用程序。我需要将目标 jar 文件移动到 docker 容器中。

这个 Spring Boot 应用程序包含休息服务,一些控制器将在调度程序 servlet 的帮助下显示视图 (JSP)。

在创建容器时,对于从调度程序 servlet 返回的视图,我收到 404 错误。我需要在我的 dockerfile 中放置什么命令才能将我的静态 Web 应用程序文件夹移动到容器中?。

提前致谢。

容器在其他服务中运行良好。休息服务以使用 mysql 服务器执行 CRUD。

我的 Dockerfile :

FROM openjdk:8

EXPOSE 7070

ADD target/docker_app.jar docker_app.jar

ENTRYPOINT ["java","-jar","docker_app.jar"]

【问题讨论】:

  • 如何启动容器?您是否将容器的公开端口映射到主机?另外我建议使用 COPY 指令而不是 ADD
  • @leopal 。感谢您的答复。我正在公开 7070 端口并将其映射到容器端口。命令:sudo docker run -p 7070:7070 --name docker_app --link mysql-docker-container:mysql -d docker_app
  • @leopal。我已经尝试使用 COPY 命令,但我仍然遇到同样的错误。错误:出现意外错误(类型=未找到,状态=404)。 /WEB-INF/view/login.jsp

标签: spring-boot docker docker-compose


【解决方案1】:

您不应将 Web 应用程序包装为 jar。

在你的 pom xml 中添加以下标签

<packaging>war</packaging>

更改 Dockerfile 命令以部署 war 文件而不是 jar。

Docker 文件:

FROM openjdk:8
EXPOSE 7070
ADD target/docker_app.war docker_app.war
ENTRYPOINT ["java","-jar","docker_app.war"]

【讨论】:

    猜你喜欢
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2017-11-24
    • 2020-11-17
    • 2016-09-18
    相关资源
    最近更新 更多