部署SpringBoot项目到Docker的漫漫长路:从小白到大神
2023-06-17 00:28:48
部署 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 方面的专业知识。
常见问题解答
-
如何检查 Docker 容器的状态?
- 使用
docker ps
命令可以查看正在运行的容器。
- 使用
-
如何停止 Docker 容器?
- 使用
docker stop <container_name>
命令可以停止容器。
- 使用
-
如何删除 Docker 容器?
- 使用
docker rm <container_name>
命令可以删除容器。
- 使用
-
如何查看 Docker 镜像?
- 使用
docker images
命令可以查看本地系统上的镜像。
- 使用
-
如何更新 Docker 镜像?
- 使用
docker pull <image_name>
命令可以更新镜像。
- 使用