创建 Dockerfile

在 Docker 中,Dockerfile 是一个文本文件,包含一系列的指令,用于定义如何构建 Docker 镜像。可以通过编写 Dockerfile 来自定义 Docker 镜像。对于 Java 应用程序,我们需要使用运行 Java 应用程序的基础镜像,并将打包好的 .jar 文件拷贝到镜像中去。

下面是一个示例 Dockerfile:

FROM openjdk:8-jdk-alpine
COPY springboot_11_test-0.0.1-SNAPSHOT.jar /usr/app/app.jar
WORKDIR /usr/app
CMD ["java", "-jar", "app.jar"]

在上面的 Dockerfile 中,我们使用 openjdk:8-jdk-alpine 作为基础镜像,该镜像内置了 JDK 8 环境,并为 Alpine Linux 优化,因此可以快速启动并部署 Java 应用程序。

然后,我们使用 COPY springboot_11_test-0.0.1-SNAPSHOT.jar /usr/app/app.jar 命令将应用程序的 .jar 文件拷贝到镜像中去,并设置工作目录为 /usr/app/,最后使用 CMD ["java", "-jar", "myapp.jar"] 命令来运行应用程序。

构建 Docker 镜像

构建 Docker 镜像,需要运行以下命令:

docker build -t springboot-test .

在上述命令中,我们使用 -t 参数来指定构建出来的镜像的名称和标签,.(点)表示当前目录,也就是 Dockerfile 所在目录。

构建完成后,可以使用 docker images 命令查看本地已经构建好的镜像,可以看到刚刚构建出来的镜像:

REPOSITORY                 TAG            IMAGE ID       CREATED         SIZE
springboot-test            latest         57d42336941e   8 minutes ago   122MB

运行 Docker 镜像

运行已经构建好的 Docker 镜像,需要使用 docker run 命令,并指定镜像的名称和标签,命令如下:

docker run --name=test -p 80:8080 -d springboot-test