返回

部署SpringBoot项目到Docker的漫漫长路:从小白到大神

后端

部署 Spring Boot 项目到 Docker 容器:无缝衔接,轻松上手

准备工作

踏上 Docker 部署之旅的第一步是确保您的系统已具备必要的工具。您需要安装 Docker 和 Docker Compose。此外,您还需要准备一台服务器或虚拟机,建议使用 Ubuntu。别忘了,如果您打算使用 IDE(如 IntelliJ IDEA 或 VS Code)创建 Spring Boot 项目,请务必事先创建好项目。

创建 Dockerfile

我们从创建 Dockerfile 入手。Dockerfile 是 Docker 镜像构建的说明书。在终端中,导航到项目目录,使用 touch Dockerfile 命令创建一个新文件。接下来,打开 Dockerfile,输入以下内容:

FROM openjdk:8-jdk-alpine

WORKDIR /usr/src/app

COPY . /usr/src/app

RUN mvn clean package

CMD ["java", "-jar", "target/*.jar"]

构建 Docker 镜像

有了 Dockerfile,就可以构建 Docker 镜像了。在终端中,导航到项目目录,使用以下命令构建镜像:

docker build -t springboot-image .

启动 Docker 容器

构建镜像后,就可以启动 Docker 容器了。在终端中,导航到项目目录,使用以下命令启动容器:

docker run -d -p 8080:8080 springboot-image

测试项目

现在,让我们验证一下项目是否正常运行。在浏览器中,访问服务器或虚拟机的 IP 地址和端口号(例如:http://192.168.1.100)。如果项目能正常运行,恭喜您!

使用 Docker Compose

如果您在项目中使用了 Swagger,Docker Compose 是一种简化部署过程的绝佳工具。在项目目录中,创建 docker-compose.yml 文件,输入以下内容:

version: "3.7"

services:
  app:
    build: .
    ports:
      - "8080:8080"
    volumes:
      - ./src:/usr/src/app
    depends_on:
      - db
  db:
    image: "mysql:5.7"

然后,在终端中,导航到项目目录,使用以下命令启动 Docker Compose:

docker-compose up -d

项目部署后的访问

与之前一样,在浏览器中访问服务器或虚拟机的 IP 地址和端口号(例如:http://192.168.1.100)。您的项目应该可以正常访问了。

常见问题和解决方案

问题:容器无法启动

解决方案: 检查 Dockerfile 中的指令是否正确,确保使用的镜像正确。

问题:项目无法访问

解决方案: 检查端口号是否正确,确保防火墙未阻止访问。

问题:Swagger 无法访问

解决方案: 检查 Swagger 配置是否正确,确保 Swagger 的端口已映射到容器的端口。

总结

通过这些简单的步骤,您可以轻松地将 Spring Boot 项目部署到 Docker 容器中。有了 Docker,您可以轻松地部署和管理应用程序,让您的项目脱颖而出。现在,当您向女朋友展示成果时,您可以自信满满地展示您在 Docker 方面的专业知识。

常见问题解答

  1. 如何检查 Docker 容器的状态?

    • 使用 docker ps 命令可以查看正在运行的容器。
  2. 如何停止 Docker 容器?

    • 使用 docker stop <container_name> 命令可以停止容器。
  3. 如何删除 Docker 容器?

    • 使用 docker rm <container_name> 命令可以删除容器。
  4. 如何查看 Docker 镜像?

    • 使用 docker images 命令可以查看本地系统上的镜像。
  5. 如何更新 Docker 镜像?

    • 使用 docker pull <image_name> 命令可以更新镜像。