想象你的Spring Boot项目是一个精心打包的行李箱,里面装着你的衣服(代码)、洗漱用品(依赖库)等生活必需品。首先,你需要把这个“行李箱”打包好。
1. 确保Spring Boot项目准备好:确保你的Spring Boot应用能够正常运行。在IDE里跑一跑,确保一切OK。
2. 生成可执行jar:在你的项目根目录下,使用命令行工具,运行 ./mvnw clean package(如果你用的是Maven),。这一步就像是把所有东西压缩打包到一个大行李箱里,方便携带。
Docker打包行李箱(Spring Boot jar)
接下来,我们要为这个“行李箱”准备一个定制的“搬运方案”——编写Dockerfile。
1. 创建Dockerfile:在Spring Boot项目的根目录下,新建一个名为 Dockerfile(注意没有文件扩展名)的文件。这文件就像是给搬运工的说明书。
2. 编写Dockerfile:打开Dockerfile,写入以下内容,这是最基本的模板:
# 使用官方的Java运行时作为父镜像
FROM openjdk:8-jdk-alpine
# 将本地文件夹挂载到容器中
VOLUME /tmp
# 复制打包好的jar文件到容器中并重命名
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
这段话的意思是:“找一个基于Java 8的轻量级操作系统作为基础,然后把我项目里的jar文件复制进去,最后用Java命令启动这个jar。”
3. 构建Docker镜像:在命令行中,定位到Dockerfile所在目录,运行 docker build -t 你的镜像名字 .。这里的“你的镜像名字”可以随意起,比如 my-springboot-app,.表示当前目录。这一步就是在根据说明书制作我们的专属“搬运方案”。
运行Docker容器
1. 运行容器:镜像做好了,现在用它来启动一个容器吧。运行命令 docker run -p 8080:8080 你的镜像名字。这里 -p 8080:8080 是让容器的8080端口映射到你电脑的8080端口,这样你就能通过浏览器访问你的应用了。
搞定!现在你的Spring Boot应用已经在Docker容器里运行了,就像是你的行李箱已经被安全地搬到了新家,随时可以使用。打开浏览器,输入 http://localhost:8080,看看你的应用是不是已经在那儿等着你了!