【实战】使用Docker构建Spring Boot应用的完整指南

文摘   社会   2024-10-11 00:00   广西  

Docker是一个开源的应用容器引擎,这里就不多介绍了,总之它非常强大,使用过的人都对它赞不绝口。我们平常在处理应用时,通常需要先搭建相关环境,然后再启动应用并进行配置。这意味着我们需要在本地、测试和生产环境中重复进行这些操作,效率自然会降低,让人感到烦躁。
但如果使用Docker呢?我们只需构建一次镜像,随后在不同的环境中只需拉取这个镜像并启动即可,简单快捷吧?


而且,如果结合CI/CD(持续集成和持续部署),那就更加方便了。只需将代码提交到Git,其余的打包、编译、测试和部署的工作都会自动完成,大大提升了我们的生产力。
言归正传,本期实战我们重点研究如何使用Docker构建Spring Boot应用,至于CI/CD的部分,留到下次再讨论。首先,请注意,Docker仅支持CentOS 7及以上的系统,如果你的系统版本较低,请及时升级。在这里,我使用的是CentOS 7 x64,并且将采用IDEA来快速构建一个Spring Boot应用。
@RestControllerpublic class HelloController {    @RequestMapping("/hello")    public Object hello() {        return "hello World!!!";    }}

首先,我们需要创建一个名为docker的文件夹,并在其中放置一个Dockerfile来进行构建。在docker文件夹内,添加已经打包好的jar文件,确保该文件夹中只包含Dockerfile和需要打包的jar文件。
# Docker image for springboot file run# VERSION 0.0.1# Author: Noisky# 基础镜像使用openjdk:8FROM openjdk:8u181-jdk-alpine# 作者MAINTAINER Noisky <noisky@ffis.me># VOLUME 指定了临时文件目录为/tmp。# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmpVOLUME /tmp # 将jar包添加到容器中并更名为app.jarADD demo-0.0.1-SNAPSHOT.jar app.jar # 运行参数ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
docker build -t springdemo:v1 .-t 参数是指定此镜像的名称
在安装并启动Docker后,我们将开始制作Spring Boot镜像。进入docker目录(使用cd命令),然后运行以下命令以开始构建镜像。请注意,命令末尾的.表示当前目录,即构建镜像的上下文路径。当你看到“successfully”提示时,表示构建已成功完成。这时,可以使用docker images命令查看已构建的镜像。
docker run -d -p 8188:8180 --name springdemo springdemo:v1-d 参数是让容器后台运行 -p 是做端口映射,此时将服务器中的8188端口映射到容器中的8080(项目中端口配置的是8080)端口
 {    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);    -webkit-tap-highlight-color: transparent;}* {    -webkit-box-sizing: border-box;    -moz-box-sizing: border-box;    box-sizing: border-box;}用户代理样式表script {    display: none;}@media (prefers-color-scheme: dark) {    body {        background-color: #35363a;        color: #f0f0f0;    }}


暮色的狐
这是一只高强度上网冲浪、高质量输出内容的狐狸。主打ACGN杂谈、技术干货分享、第九艺术鉴赏、网梗百科解析、情感树洞鸡汤、正能量价值观~
 最新文章