Docker部署SpringBoot后端项目

本文详细介绍如何使用Docker及Docker-compose部署SpringBoot项目,包括创建Dockerfile,配置Docker-compose.yml文件,以及运行项目的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 下载安装Docker,Docker-compose

    下载和安装Docker,Docker-compose我就不说了前面有讲过,不知道的小伙伴看我部署vue项目

  2. 创建Docker-Compose.yml文件夹

    在Linux的跟目录创建Web文件夹,然后Cd进入web跟目录创建Docker-compose.yml文件,和webapp文件夹

  3. 上传你所打包的SpringBoot的jar包

    将你打包好的jar包上传到webapp目录下 并创建Dockerfile文件

    ADD命令的意思是将文件1的名字更改为文件2的名字这里你注意你自己打包的jar包的名称
    FROM java:8
    ADD rainbow-api-user-0.0.1-SNAPSHOT.jar rainbow-api-user.jar
    RUN bash -c 'touch /rainbow-api-user.jar'
    EXPOSE 8085
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/rainbow-       api-user.jar"]
    
  4. 编写Docker-compose.yml文件

一定要注意yml的文件格式一定要写对

spring:
  build: ./webapp
  ports:
   - "80:8085"
  1. 启动

    最后进入你的web目录下启动Docker使用命令Docker-compose up -d

  2. 文件的目录格式如下

    /web
     Docker-compose.yml
     webapp
         jar包
         dockerfile
### 部署Spring Boot后端项目的方案 在1Panel平台上部署Spring Boot后端项目可以通过Docker容器化的方式实现。以下是具体的配置方法和技术细节: #### 1. 创建网络 为了确保服务之间的通信正常,需先定义外部网络 `1panel-network` 并将其标记为外部可用[^3]。 ```yaml networks: 1panel-network: external: true ``` #### 2. 编写Spring Boot容器编排模板 基于提供的其他容器编排模板案例,可以设计如下适用于Spring Boot的Docker Compose文件结构[^1]: ```yaml version: "3" services: springboot-app: container_name: springboot-container image: your-docker-repo/springboot-image:latest labels: createdBy: Apps networks: - 1panel-network ports: - 127.0.0.1:{host_port}:8080 environment: - SPRING_PROFILES_ACTIVE=prod - TZ=Asia/Shanghai volumes: - {完整路径}/logs:/app/logs restart: unless-stopped networks: 1panel-network: external: true ``` - **image**: 替换为实际构建好的Spring Boot Docker镜像地址。 - **ports**: 将 `{host_port}` 替换为主机上希望映射的具体端口号(例如:`8081`),并确保该端口未被占用[^2]。 - **volumes**: 如果需要持久化日志或其他数据,则挂载本地存储至容器内部指定位置。 #### 3. 构建Spring Boot镜像 如果尚未拥有现成的Docker镜像,可按照以下方式自行制作: ##### (a) 准备Dockerfile 在Spring Boot项目的根目录下创建名为 `Dockerfile` 的文件,内容如下: ```dockerfile FROM openjdk:17-jdk-slim AS build WORKDIR /app COPY . . RUN ./mvnw clean package -DskipTests && \ cp target/*.jar app.jar FROM openjdk:17-jre-slim WORKDIR /app COPY --from=build /app/app.jar /app/ CMD ["java", "-jar", "/app/app.jar"] ``` 此脚本假设您正在使用Maven作为依赖管理工具;如果是Gradle,请调整相应命令[^4]。 ##### (b) 执行打包与上传 通过以下指令完成镜像生成以及推送到私有仓库的操作[^5]: ```bash sudo docker build -t your-docker-repo/springboot-image:latest . sudo docker tag your-docker-repo/springboot-image:latest 192.168.1.9:5000/your-docker-repo/springboot-image:latest sudo docker push 192.168.1.9:5000/your-docker-repo/springboot-image:latest ``` #### 4. 测试访问 启动容器后,在浏览器输入形如 `http://<服务器IP>:<host_port>` 地址验证接口是否能够响应请求。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值