基于阿里云 ECS + Docker的 Spring Boot 项目部署完整方案

使用Docker部署Spring Boot项目可以解决环境一致性问题,简化部署流程,以下是基于阿里云ECS + Docker的完整方案,涵盖从环境搭建到外网访问的全流程。

一、方案总览

核心思路:通过Docker容器化Spring Boot应用和依赖服务(如MySQL),利用Docker Compose编排容器,实现一键部署。
流程:服务器购买 → 安装Docker环境 → 项目容器化(编写Dockerfile) → 配置Docker Compose → 部署运行 → 网络/域名配置 → 测试监控

二、步骤详解

第一步:购买阿里云ECS服务器(同前,但需注意)
  • 服务器配置:同前(1核2G起步,CentOS 7.9),无需提前安装JDK、MySQL(由Docker容器提供)。
  • 安全组:开放必要端口(22、80、443,以及应用端口如8080,Docker容器会映射这些端口)。
第二步:安装Docker和Docker Compose

登录服务器后,先安装Docker环境(Docker负责运行容器,Docker Compose负责编排多容器)。

1. 安装Docker
# 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker(社区版)
yum install -y docker-ce docker-ce-cli containerd.io

# 启动Docker并设置开机自启
systemctl start docker
systemctl enable docker

# 验证安装(输出版本信息即为成功)
docker --version  # 示例:Docker version 24.0.5, build ced0996
2. 安装Docker Compose
# 下载Docker Compose(注意版本号,可去官网找最新版)
curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋予执行权限
chmod +x /usr/local/bin/docker-compose

# 验证安装
docker-compose --version  # 示例:Docker Compose version v2.20.3
第三步:Spring Boot项目容器化准备

在本地项目中添加Docker配置文件,实现容器化构建。

1. 编写Dockerfile(项目根目录)

创建Dockerfile(用于构建Spring Boot镜像):

# 基础镜像:OpenJDK 17(轻量版,适合生产)
FROM openjdk:17-jdk-slim

# 维护者信息(可选)
LABEL maintainer="your@email.com"

# 暴露端口(与项目配置的server.port一致)
EXPOSE 8080

# 复制本地Jar包到容器内(target目录是Maven打包后的路径)
COPY target/xxx.jar /app.jar

# 启动命令(容器启动时执行)
ENTRYPOINT ["java", "-jar", "/app.jar"]
  • 说明:xxx.jar替换为实际的Jar包名称(如demo-0.0.1-SNAPSHOT.jar)。
2. 编写docker-compose.yml(项目根目录)

创建docker-compose.yml(用于编排应用和数据库容器):


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KiddoStone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值