下面我会详细介绍如何在Idea中使用Docker部署SpringBoot项目的详细步骤,并提供两个示例说明。
步骤一:安装配置Docker
首先,需要在本机上安装Docker。
- 在Docker官网下载适用于你操作系统的 Docker Desktop 安装包,并进行安装。
- 启动 Docker。
- 检查 Docker 是否安装并启动成功,可通过运行以下命令进行检查:
docker --version
docker info
步骤二:打包SpringBoot项目为Docker镜像
接下来,我们需要把 SpringBoot 项目打包成 Docker 镜像。
-
在 SpringBoot 项目的根目录下,执行以下命令生成可执行 JAR 包:
mvn clean package -DskipTests
或者执行以下命令:
./gradlew clean build -x test
-
创建一个 Dockerfile 文件,用于构建 Docker 镜像。在 SpringBoot 项目的根目录下创建 Dockerfile 文件,内容如下所示:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/<项目名称>.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
替换 <项目名称> 为你的 SpringBoot 项目名称。 -
执行以下命令构建 Docker 镜像:
docker build -t <镜像名称>:<镜像版本> .
注意,这里的 . 表示在当前目录下查找 Dockerfile 文件。
例如,构建名为 my-springboot-app 的镜像版本为 v1.0 的命令为:
docker build -t my-springboot-app:v1.0 .
步骤三:运行Docker容器
最后,我们需要运行 Docker 容器来部署 SpringBoot 项目。
- 运行以下命令启动 Docker 容器:
docker run -d -p <主机端口>:<容器端口> --name <容器名称> <镜像名称>:<镜像版本>
替换 <主机端口>、<容器端口>、<容器名称>、<镜像名称> 和 <镜像版本>。
例如,将 my-springboot-app:v1.0 镜像版本运行在 8080 端口上命名为 springboot-app 的命令为:
docker run -d -p 8080:8080 --name springboot-app my-springboot-app:v1.0
- 执行以下命令检查 Docker 容器是否启动成功:
docker ps
示例一:使用Docker容器部署Swagger API文档
- 在 SpringBoot 项目中引入 springfox-swagger2 和 springfox-swagger-ui 依赖:
```
```
- 在 SpringBoot 项目的配置文件 application.yml 中添加以下配置:
springfox.documentation.swagger.v2.enabled: true
springfox.documentation.swagger.v2.path: /swagger
-
运行上文的打包命令和构建 Docker 镜像命令。
-
运行 Docker 容器的命令中指定端口映射为 8080:8080 和 8081:8081:
docker run -d -p 8080:8080 -p 8081:8081 --name swagger -e LANG=C.UTF-8 swagger:v1.0
- 打开浏览器,在地址栏输入 http://localhost:8081/swagger-ui.html,可以看到 Swagger API 文档。
示例二:使用Docker容器部署RocketMQ控制台
- 在 SpringBoot 项目中引入 rocketmq-console-ng 依赖:
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-console-ng</artifactId>
<version>2.0.0</version>
</dependency>
- 在 SpringBoot 项目的配置文件 application.yml 中添加以下配置:
server:
port: 8080
rocketmq:
console:
isDebug: false
dataPath: ${user.home}/store/rocketmq-console/data
dbPath: ${user.home}/store/rocketmq-console/db
username: ${ROCKETMQ_CONSOLE_USERNAME:admin}
password: ${ROCKETMQ_CONSOLE_PASSWORD:admin}
address: ${ROCKETMQ_ADDR:127.0.0.1:9876}
-
运行上文的打包命令和构建 Docker 镜像命令。
-
运行 Docker 容器的命令中指定端口映射为 8080:8080:
docker run -d -p 8080:8080 --name rocketmq-console rocketmq-console:v1.0
- 打开浏览器,在地址栏输入 http://localhost:8080,可以看到 RocketMQ 控制台。
希望这份攻略能够帮到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Idea中使用Docker部署SpringBoot项目的详细步骤 - Python技术站