将项目打包成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!