docker中jar包怎么把配置文件放到外面

1、创建 Dockerfile

FROM java:8
#EXPOSE 8900

ADD springboot.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar","--spring.config.location=/data/java/config/application-dev.yml"]

FROM java:8:使用 jdk8 作为基础镜像
EXPOSE 8900:暴露容器的 8900 端口
ADD springboot.jar app.jar:将复制指定的 java.jar 为容器中的 app.jar,相当于拷贝到容器中取了个别名
RUN bash -c ‘touch /app.jar’: 创建一个新的容器并在新的容器中运行命令
ENTRYPOINT[]:相当于在容器中用 cmd 命令执行 jar 包

2.Dockerfile 配置文件

主要是 jar 包的运行方式,注意看最后一个 ENTRYPOINT 参数中的 --spring.config.location,这里表示运行的时候动态扫描加载某个目录下的配置文件。我们使用 docker buildjar 包打好镜像后,继续看第二步

3.运行 docker 容器命令,主要是挂载目录

假设镜像名字和版本为 springboot:2019,使用下面命令创建

docker run -dit \
--name springboot\
-p 8900:8900 \
-v /home/springboot/config:/data/java/config \
springboot:2019

我们将 linux 宿主机上的/home/config/config 目录挂载到容器中的/data/java/config 目录,大家发现没,第一步的 Dockerfile 文件中的配置的扫描目录就是/home/config/config 目录下的 application-dev.yml 配置文件,这样我们直接可以修改宿主机上的 application-dev.yml 配置文件,从而就是修改了容器中的 application-dev.yml 配置文件,所以我们再重新 restart 启动的时候,可以发现,扫描的内容就是我们修改之后的。

因为挂载目录是可以将宿主机上的文件和容器中的文件进行交互的,简单来说就是共享同一个文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱码社长

一分钱不嫌少,谢谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值