将项目打包成Docker
概述
对SpringBoot应用程序进行Docker容器化是软件开发者的一项基本技能,因为它可以在容器化环境中高效部署和管理应用程序。同时将SpringBoot应用打包到Docker容器中可以确保跨平台的一致性且便于后期扩展。
准备工作
首先准备一个SpringBoot项目,在项目中添加一个接口用于测试。
| 1 | 
 | 
启动项目,访问http://localhost:8080/hello,确保接口可以正确响应。
| 1 | mvn clean spring-boot:run | 
| 1 | curl -v localhost:8080/hello | 
执行上述命令后将看到如下输出:
| 1 | curl -v localhost:8080/hello | 
添加Dockerfile配置文件
接下来,在项目根目录下创建一个Dockerfile,并添加下面的配置:
| 1 | FROM openjdk:17 | 
下面是配置的简单说明:
- FROM openjdk:17:使用- openjdk:17作为基础镜像。
- VOLUME /tmp:创建一个/tmp目录作为容器的临时目录。
- EXPOSE 8080:容器运行时监听的端口。
- ARG JAR_FILE=target/spring-boot-docker.jar:定义一个变量- JAR_FILE,用于指定要添加到容器中的jar文件。
- ADD ${JAR_FILE} app.jar:将- JAR_FILE指定的jar文件添加到容器中,并重命名为- app.jar。
- ENTRYPOINT ["java","-jar","/app.jar"]:指定容器启动时执行的命令。
生成jar包
通过maven命令生成jar包:
| 1 | mvn clean package | 
此时在target目录下会生成一个spring-boot-to-docker-0.0.1-SNAPSHOT.jar文件。
构建Docker镜像
确保已经安装了Docker,然后在项目根目录下执行下面的命令构建Docker镜像:
| 1 | docker build -t spring-boot-to-docker:spring-docker . | 
build 命令将通过我们在 Dockerfile 中的配置构建一个镜像,而 -t 标志则用于为我们的镜像添加一个标签。
等待几分钟后,我们可以通过docker image ls | grep spring-boot-to-docker命令查看镜像是否创建成功。

运行Docker容器
运行下面的命令启动Docker容器:
| 1 | docker run -p 9090:8080 spring-boot-to-docker:spring-docker | 
run 命令用于启动一个容器,而 -p 标志则用于将容器的端口映射到主机的端口。
运行成功后,可以通过http://localhost:9090/hello访问接口,确保接口可以正确响应。
| 1 | curl -v localhost:9090/hello | 

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CloudBillow!





