在Docker容器中运行Spring Boot应用程序
首先
在这篇文章中,我们将介绍如何将已创建的Spring Boot应用程序在Docker容器中运行的步骤。Docker是一种轻量级且灵活的容器平台,它可以简化从开发到运维的工作流程,并确保一致性。
这篇文章的目的是通过具体步骤来理解如何在Docker容器中运行Spring Boot应用程序。该文章的目标是在文章结束之前能够成功在Docker容器中运行Spring Boot应用程序。
所需工具和环境 (Suo xu gong ju he huan jing)
在这篇文章中,我们将介绍在Docker容器中运行Spring Boot应用所需的基本工具和环境。具体来说,需要以下事项:
Java – Java是一种广泛使用的编程语言
由于Spring Boot是基于Java的框架,所以需要Java环境。本文假定使用Java 17。如果您还没有安装Java,请使用官方网站或适当的包管理器进行安装。
春季的引导
Spring Boot是用于构建Java Web应用程序的框架。本文以Spring Boot 2.7.11为前提条件。使用Spring Initializr可以轻松创建Spring Boot项目。
Docker-中文译为”容器”
Docker是一個用於封裝應用程序並在其他機器上重新生成相同環境的平台。本文假設使用Docker 20.10版本。如果尚未安裝Docker,請從官方網站下載並安裝。
Gradle
Gradle是用于构建Java项目的工具。它可以用于构建Spring Boot项目和生成JAR文件。由于Gradle已经集成到项目中,所以不需要特别安装。
创建一个SpringBoot的控制器。
为了确认在容器中启动应用程序时的操作,请创建一个简单的控制器。内容如下,这次我们将在/src/main/java/com/template/controller/SampleController.java中创建文件。
package com.template.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SampleController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
创建Dockerfile
为了在Docker容器中运行Spring Boot应用程序,需要创建一个Dockerfile。Dockerfile是一个定义Docker镜像创建步骤的文本文件。在本节中,将介绍如何编写Dockerfile。
Dockerfile 是什么?
Dockerfile是一种文本文件,用于记录创建Docker镜像的步骤。Dockerfile中包含了基础镜像的指定、所需软件的安装、环境变量的设置、应用程序的复制、端口的公开、执行命令等与镜像创建相关的步骤。
Dockerfile的描述
以下是用于Spring Boot应用程序的Dockerfile的内容。该文件已放置在项目根目录中。
# ベースイメージの指定
FROM openjdk:17
# ワーキングディレクトリの設定
WORKDIR /app
# アプリケーションのJARファイルをコンテナにコピー
COPY build/libs/*.jar app.jar
# ポートの公開
EXPOSE 8080
# アプリケーションの実行コマンド
ENTRYPOINT ["java", "-jar", "app.jar"]
在这个Dockerfile中,使用了openjdk:17镜像作为基础。将工作目录设置为/app,并将已构建的JAR文件复制到容器中。同时,暴露了8080端口,并设置了应用程序的执行命令作为入口点。
通过这个步骤,已经完成了Dockerfile的创建。
构建Docker镜像
如果创建了Dockerfile,接下来就要构建Docker镜像。使用Gradle构建应用程序,并使用Docker命令构建Docker镜像。
首先,使用Gradle构建应用程序。请执行以下命令。
./gradlew clean build
使用这个选项将删除以前生成的构建内容,并从干净的状态开始构建并生成jar文件。
接下来,使用Docker命令构建Docker镜像。请运行以下命令。本次将镜像命名为spring-container-sample。
docker build -t spring-container-sample .
通过使用以下docker命令,您可以确认Docker镜像构建已完成并使用”docker images”命令进行查看。
-
- 构建:指示构建Docker镜像
-
- -t spring-container-sample:为构建的Docker镜像添加一个名为spring-container-sample的标签(名称)
- .:Docker构建上下文的位置(相对于Dockerfile的路径)
操作Docker容器
一旦创建了Docker镜像,接下来将介绍Docker容器的操作方法。
启动Docker容器
使用以下命令启动Docker容器。
docker run -d -p 8080:8080 --name spring-container-sample spring-container-sample
在这个状态下访问 http://localhost:8080/hello,应该会显示“你好,世界!”。
停止Docker容器
使用下面的命令停止Docker容器。
docker stop spring-container-sample
重新启动Docker容器
使用以下命令重新启动Docker容器。
docker restart spring-container-sample
总结
在这篇文章中,我们讲解了如何将Spring Boot应用程序运行在Docker容器中的步骤。通过创建Dockerfile、构建Docker镜像和操作Docker容器等基本步骤,我们学习了使用Docker来运行Spring Boot应用程序的方法。
通过使用Docker,可以提供从开发环境到生产环境的一致环境,并且能够轻松地部署应用程序。让我们通过更加高效的开发工作流程来持续发挥Docker的作用。