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 文件来启动应用程序,并使用容器中的配置文件来配置应用程序。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值