当前位置:   article > 正文

Docker 将jar包 打包成容器,并挂载jar包和指定yml配置_docker把jar容器化

docker把jar容器化

1.在 Dockerfile 中指定基础镜像,如 openjdk:8-jdk-alpine。
2.在 Dockerfile 中创建一个工作目录,如 /app。
3.将 jar 包复制到工作目录中,可以使用 COPY 指令。
4.将 yml 配置文件复制到工作目录中,也可以使用 COPY 指令。
5.暴露 jar 包使用的端口,可以使用 EXPOSE 指令。
6.在 Dockerfile 中指定启动命令,如 java -jar app.jar --spring.config.location=/app/config.yml。

下面是一个示例 Dockerfile:

FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY target/myapp.jar app.jar
COPY config.yml config.yml
EXPOSE 8080
CMD ["java", "-jar", "app.jar", "--spring.config.location=/app/config.yml"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
1.Dockerfile 使用了 openjdk:8-jdk-alpine 作为基础镜像
2.创建了 /app 目录,并将 myapp.jar 和 config.yml 文件复制到了该目录中。
3.暴露了 8080 端口
4.使用 CMD 指令指定了启动命令,其中 --spring.config.location=/app/config.yml 指定了使用 /app/config.yml 文件作为应用程序的配置文件。
  • 1
  • 2
  • 3
  • 4

要构建这个 Docker 容器,可以使用以下命令:

docker build -t myapp .
  • 1

其中 myapp 是容器的名称。

要运行这个 Docker 容器,可以使用以下命令:

docker run -p 8080:8080 myapp
  • 1

其中 -p 参数指定了将容器内部的 8080 端口映射到主机的 8080 端口上,这样可以通过主机的 8080 端口访问应用程序。

扩展

假设要挂载主机上的 /myapp.jar 文件,并将其挂载到 Docker 容器中的 /app/myapp.jar 路径上:

docker run -v /myapp.jar:/app/myapp.jar myapp
  • 1

/myapp.jar 是本地主机上的 jar 文件路径,
/app/myapp.jar 是容器中要挂载的路径,
myapp 是要运行的 Docker 镜像名称
启动命令中不需要指定挂载的 jar 文件路径,因为它已经在容器中挂载了。

注意,如果要使用挂载的 jar 文件来启动应用程序,需要确保在 Dockerfile 中使用了正确的启动命令。启动命令需要使用挂载的 jar 文件路径来启动应用程序,例如:

CMD ["java", "-jar", "/app/myapp.jar", "--spring.config.location=/app/config.yml"]
  • 1

/app/myapp.jar 是挂载到容器中的 jar 文件路径,
/app/config.yml 是容器中的配置文件路径。
这个启动命令将使用挂载的 jar 文件来启动应用程序,并使用容器中的配置文件来配置应用程序。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/284200
推荐阅读
相关标签
  

闽ICP备14008679号