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

这篇具有很好参考价值的文章主要介绍了Docker 将jar包 打包成容器,并挂载jar包和指定yml配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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.Dockerfile 使用了 openjdk:8-jdk-alpine 作为基础镜像
2.创建了 /app 目录,并将 myapp.jar 和 config.yml 文件复制到了该目录中。
3.暴露了 8080 端口
4.使用 CMD 指令指定了启动命令,其中 --spring.config.location=/app/config.yml 指定了使用 /app/config.yml 文件作为应用程序的配置文件。

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

docker build -t myapp .

其中 myapp 是容器的名称。

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

docker run -p 8080:8080 myapp

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

扩展

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

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

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

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

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

/app/myapp.jar 是挂载到容器中的 jar 文件路径,
/app/config.yml 是容器中的配置文件路径。
这个启动命令将使用挂载的 jar 文件来启动应用程序,并使用容器中的配置文件来配置应用程序。文章来源地址https://www.toymoban.com/news/detail-446934.html

到了这里,关于Docker 将jar包 打包成容器,并挂载jar包和指定yml配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 项目打包部署之部署jar包和war包

     本文将介绍将Java项目部署到Linux服务器上的步骤。首先,你需要了解服务器的基本知识和安装Java环境的方法。然后,我们就jar包和war包两种应用部署到Linux服务器上来进行讲解,包括如何将应用程序上传到服务器,如何配置服务器,以及如何启动和停止应用程序。  在Li

    2024年02月17日
    浏览(66)
  • 云服务器使用docker部署jar包及其配置文件(挂载

    闲来无事摸鱼学习docker,突发奇想想把自己之前做过的垃圾项目放到斥巨资新买的云服务器上,然在下记忆力超群(的差),遂记录于此,防止以后又不断百度。 后端项目是springboot写成,整合了mybatis,因此有一些配置文件和很多xml...而我又希望配置文件不要打包进去而是能

    2023年04月09日
    浏览(30)
  • docker配置文件挂载(容器数据管理)

    在之前的nginx案例中,修改nginx的html页面时,需要进入nginx内部。并且因为没有编辑器,修改文件也很麻烦。 这就是因为容器与数据(容器内文件)耦合带来的后果。 要解决这个问题,必须将数据与容器解耦,这就要用到数据卷了。 数据卷(volume) 是一个虚拟目录,指向宿

    2024年02月15日
    浏览(47)
  • 基于docker-compsoe.yml配置mysql8.0主从 (需要进入主从容器执行命令)

    主my.cnf文件 从my.cnf文件 主要的yml配置 主容器的操作 进入主mysql容器 3306端口的 docker exec -it 容器id /bin/bash 登录mysql mysql -uroot -p 创建主从复制的账号 - 创建用户slave,密码123456 CREATE USER \\\'slave\\\'@\\\'%\\\' IDENTIFIED BY \\\'123456\\\'; 授权主从复制 GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO \\\'slave\\\'@

    2024年02月16日
    浏览(35)
  • 微服务项目容器编排docker-compose.yml、Dockerfile文件模板、相关配置文件、shell脚本

    docker环境变量文件 如果定义的环境变量名与宿主机的一样,则优先宿主机上的。 部署脚本deploy.sh 批量复制文件到对应目录copy.sh

    2024年02月11日
    浏览(30)
  • 【Docker】Docker挂载和修改容器中的目录及配置文件的若干种方式

    我们知道,Docker相当于提供了一个 独立于宿主机的运行环境。当我们使用Docker部署了中间件例如nginx的容器后,一般都是需要修改配置文件的。那么我们想到的第一个方法就是进入容器去修改[1]。 1.进入容器内修改 首先我们需要有一个已经启动的容器。pull image后通过run-d -

    2024年02月08日
    浏览(31)
  • Docker:使用dockerFile创建镜像(war包和jar包)

    1、使用war包打镜像 (1)在war的当前路径下,新建一个文件——Dockerfile (2)编辑Dockerfile文件    vim Dockerfile Dockerfile文件内容: FROM java:8                # 选择项目中要求的版本 MAINTAINER ylb             # 作者 WORKDIR /穿件文件夹的路径    # 选择项目中要求的

    2024年02月15日
    浏览(37)
  • 项目打包docker镜像,并指定运行的配置文件

    新建dockerfile文件,添加入以下内容 1.修改dockerfile中的配置,与对应文件和jar包的目录保持一致。如果已经有镜像包可忽略打包步骤,直接执行命令启动   2.服务启动的端口在application.properties文件中已配置,后续可根据实际情况修改 3.切换到文件所在目录; cd /home/zj/ 4.执行命

    2024年02月16日
    浏览(26)
  • 2023年最新IDEA中 Java程序 | Java+Kotlin混合开发的程序如何打包成jar包和exe文件(gradle版本)

    一. JAVA | JAVA和Kotlin混开开发的程序打包成jar方法 1.1 方法一 :IDEA中手动打包 1.2 方法二 :build.gradle中配置后编译时打包 二. JAVA | JAVA和Kotlin混合开发的程序打包成exe的方法 纯JAVA | 纯Kotlin | JAVA和Kotlin混合开发打包其实都一样的,因为jar包中主要还是class文件,而kotlin在编译后

    2024年02月12日
    浏览(45)
  • docker搭建部署mysql并挂载指定目录

    首先,确保你的系统上已经安装了Docker。你可以根据官方文档安装适用于你系统的Docker版本 命令解释 挂载外部目录的理由: 数据持久性和灵活性。 容器中MySQL数据的易备份和恢复。 如当容器宕机或者不小心移除,可重新起一个容器并挂载之前的文件,之前的数据依然存在。

    2024年01月17日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包