创建Docker镜像是将应用程序打包成独立容器的过程,使得应用程序在不同的环境中都能够以容器的形式运行。Spring Boot是一个开发Java应用的框架,而Docker是一个容器化平台,下面将介绍如何为Spring Boot应用程序创建Docker镜像。

1. 编写Dockerfile文件

在项目根目录下创建一个名为Dockerfile的文件,并添加以下内容:

```dockerfile
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
```

上述Dockerfile文件中的内容分为几个部分:

a. 第一行指定了基础镜像为openjdk:8-jdk-alpine,该镜像包含了Java运行环境。

b. 第二行指定了一个临时目录/tmp作为容器内的打包目录。

c. 第三行使用ARG关键字定义了一个变量JAR_FILE。

d. 第四行使用ADD命令复制应用程序的打包文件(JAR_FILE)到容器的/app.jar。

e. 最后一行使用ENTRYPOINT命令指定容器启动时执行的命令,这里是运行java命令启动应用程序。

2. 构建Docker镜像

在终端中执行以下命令来构建Docker镜像:

```
docker build -t my-spring-boot-app .
```

上述命令中的-t参数指定了镜像的标签,即命名为my-spring-boot-app,后面的点表示当前目录为构建上下文。

3. 运行Docker镜像

执行以下命令来运行刚才构建的Docker镜像:

```
docker run -p 8080:8080 my-spring-boot-app
```

上述命令中的-p参数指定了宿主机端口和容器内部监听的端口映射关系,这里将容器内的8080端口映射到宿主机的8080端口。

总结

通过编写Dockerfile文件,并使用docker build命令来构建Docker镜像,再使用docker run命令来运行Docker镜像,就可以为Spring Boot应用程序创建一个可移植、可部署的Docker容器。

注意:在构建Docker镜像之前,需要确保已经在项目中生成了可执行的JAR包。