2025年最简捷的docker 部署 springboot项目外部yml

最简捷的docker 部署 springboot项目外部yml第 1 步 安装 Docker 略 第 2 步 下载 openjdk docker pull openjdk 第 3 步 查看下载后的 openjdk 应如图所示 第 4 步 创建工作目录 在工作目录下 创建工作区

大家好,我是讯享网,很高兴认识大家。

第1步:安装Docker,略;

第2步:下载openjdk:

docker pull openjdk

第3步:查看下载后的openjdk,应如图所示:


讯享网

 第4步:创建工作目录

在工作目录下,创建工作区:

我的工作区设置在/home/work,

在work目录下,创建三个目录,分别是:

conf,jar,logs,目录结构如图:

其中conf目录放置项目的yml和其他配置xml文件,jar目录放置打包jar文件,logs目录放置将来的logs文件。

第5步:在work目录下创建Dockerfile文件,内容如下:

FROM docker.io/openjdk
EXPOSE 8080
ENTRYPOINT ["java","-jar","/jar/app.jar","--logging.config=/conf/logback-spring.xml","--spring.config.location=/conf/application.yml"]

(其中的xml文件和yml文件很常规,大家肯定知道是什么),注意,最后一行,/jar/app.jar,表明,将来容器将运行/jar/app.jar文件。而这个文件将会映射到宿主机上。/conf/下的其他两个文件也是同理。

第6步:进行工程打包,其中的pom.xml文件,需要加入以下插件:

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> <resources> <resource> <filtering>true</filtering> <directory>src/main/resources</directory> <excludes> <exclude>/*.yml</exclude> </excludes> </resource> </resources> </build> 

讯享网

 第7步:上传文件。

将打包好的jar文件,命名为app.jar,上传至/home/work/jar目录下。并将准备的好的application.yml和日志配置文件logback-spring.xml上传到conf目录下。

第8步:使用docker,根据Dockerfile,创建一个工程镜像。

docker build -t work/mywork: --rm=true  .

 注意:

1、work/mywork:,这个名字可以按照    项目/模块(微服务):日期,这样看起来比较清晰,不容易混乱。也可以随便起

2、--rm=true是为了删除制作镜像过程中的临时文件

3、最后一个“.”是不可以省略的。

此刻,执行“docker images”,可以看到自己刚刚制作好的镜像。

第9步:使用镜像,创建容器:

docker run -dit --name mywork -p 8080:8080 -v /home/work/conf:/config -v /home/work/jar:/jar   -v /home/work/logs:/logs work/mywork:

-v是将宿主机上的目录映射到容器上,因此容器在执行java -jar  /jar/app.jar 时,其实加载的就是宿主机上的jar,访问的也是宿主机conf目录下的application.yml文件。

第10步:用docker ps查看容器的运行状况。

(如果容器启动失败,可用docker ps -a查看容器状态。)

如果上面的操作都没问题,此刻肯定是可以成功运行了。

以后无论是更新jar,还是修改yml文档,都直接在宿主机上修改,然后,重新启动容器即可。

docker restart  容器名或容器id

最后,可用以下命令查看容器的日志,也可以直接到logs目录下,打开log文件,查看运行结果:

docker logs -f -t --since=60m  xxxxxxxx(容器名或容器id)    #这是查看最近60分钟之内的日志,时间可以更改

上述过程,亲手在两台服务器上部署成功,也可以使用docker-compose部署,整个过程非常简单有效。

 

2020年12月31日最后一天,算是献礼吧

 

 

 

 

 

小讯
上一篇 2025-03-04 09:18
下一篇 2025-01-10 08:36

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/47645.html