前言:最近在写自己的新项目,一个online juge系统,在idea运行一个项目的同时,我还需要运行自己写的代码沙箱用于编译用户填写的代码,所以需要用docker环境运行代码沙箱。
以下是完整的流程,演示如何在 macOS 上使用 Docker Desktop 运行一个 Spring Boot 项目:
-
安装 Docker Desktop:
如果您尚未安装 Docker Desktop,请前往 Docker 官网下载并安装 Docker Desktop for Mac。 -
构建 Spring Boot 项目的可执行 JAR 文件:
在您的 Spring Boot 项目中,使用 Maven 或 Gradle 构建项目的可执行 JAR 文件。通常,这可以通过运行以下命令来完成:使用 Maven:
mvn clean package
使用 Gradle:
./gradlew clean build
这将生成一个包含所有依赖项的可执行 JAR 文件。
-
创建 Dockerfile:
在您的项目根目录中创建一个名为 “Dockerfile” 的文件,用于定义 Docker 容器的配置。以下是一个示例 Dockerfile:# 使用官方的 OpenJDK 8 镜像作为基础镜像 FROM openjdk:8 # 设置工作目录 WORKDIR /app # 复制可执行 JAR 文件到容器中 COPY target/your-application.jar /app/app.jar # 指定容器启动命令 CMD ["java", "-jar", "app.jar"]
请确保将上述示例中的 “your-spring-boot-app.jar” 替换为实际的可执行 JAR 文件名称。
-
构建 Docker 镜像:
打开终端,导航到包含 Dockerfile 的项目根目录,然后运行以下命令来构建 Docker 镜像:docker build -t my-spring-boot-app .
这将构建一个名为 “my-spring-boot-app” 的 Docker 镜像,您可以将其替换为您希望的名称。
-
启动 Docker 容器:
使用以下命令运行您的 Docker 容器,并在其中运行 Spring Boot 项目:docker run -it --rm -p 8090:8090 my-spring-boot-app
这将启动一个交互式容器,其中的 Spring Boot 项目将运行在端口 8080 上。一旦项目启动,您可以在浏览器中访问
http://localhost:8090
来访问项目。 -
停止容器:
若要停止正在运行的容器,可以在终端中按下Ctrl + C
组合键,这会中断容器的执行并停止容器。
这样,您的 Spring Boot 项目将在 Docker 容器中运行,并且您可以随时停止它。确保 Dockerfile 中的配置适用于您的 Spring Boot 项目的需求。