Docker在容器中运⾏springboot的jar包,挂载外部yml配置⽂件
1、创建
FROM java:8
#EXPOSE 8900
ADD springboot.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar","--fig.location=/data/java/l"]
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配置⽂件
spring怎么读取jar文件
主要是jar包的运⾏⽅式,注意看最后⼀个ENTRYPOINT参数中的--fig.location,这⾥表⽰运⾏的时候动态扫描加载某个⽬录下的配置⽂件。我们使⽤docker build将jar包打好镜像后,继续看第⼆步
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⽬录下的l配置⽂件,这样我们直接可以修改宿主机上的l配置⽂件,从⽽就是修改了容器中的l配置⽂件,所以我们再重新restart启动的时候,可以发现,扫描的内容就是我们修改之后的。
因为挂载⽬录是可以将宿主机上的⽂件和容器中的⽂件进⾏交互的,简单来说就是共享同⼀个⽂件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。