使用上传的阿里云镜像仓库
使用阿里云存储的docker镜像
编写配置文件
配置文件文件目录
fruit-shop-deploy/
├── docker-compose.yml # 主配置文件
├── .env # 环境变量(可选)
├── init-sql/
│ └── init.sql # 数据库初始化脚本
└── README.md # 部署说明主配置文件的编写
services:
mysql:
# 使用的具体镜像,这里是阿里云个人容器仓库中的一个MySQL 8.0镜像
image: crpi-6tx7j4mb3asmtnu1.cn-beijing.personal.cr.aliyuncs.com/fruit-shop/mysql:8.0
container_name: fruit-shop-new-mysql # 修改容器名
# 设置环境变量,如数据库root用户的密码(MYSQL_ROOT_PASSWORD)和默认数据库名(MYSQL_DATABASE)
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_NAME}
# 定义数据卷,用于持久化存储。这里有两个卷,一个是挂载到MySQL数据目录的自定义卷mysql-data-new,
# 另一个是将当前目录下的init-sql文件夹挂载到容器的初始化SQL脚本目
volumes:
- mysql-data-new:/var/lib/mysql # 使用新的数据卷名
- ./init-sql:/docker-entrypoint-initdb.d # 自动执行 SQL 初始化
# 置重启策略,除非手动停止,否则总是尝试重启容器
restart: unless-stopped
# 该服务连接到名为fruit-net-new的自定义网络中
networks:
- fruit-net-new # 使用新的网络
backend:
image: crpi-6tx7j4mb3asmtnu1.cn-beijing.personal.cr.aliyuncs.com/fruit-shop/backend:latest
container_name: fruit-shop-new-backend # 修改容器名
# 第一个 8084 指的是宿主机(即运行 Docker 的机器)上的端口 (本机)
# 8084 指的是容器内部监听的端口
ports:
- "8084:8084" # 修改端口映射,避免冲突
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/${DB_NAME}?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: ${DB_ROOT_PASSWORD}
# 表示此服务依赖于mysql服务,确保MySQL先启动
depends_on:
- mysql
restart: unless-stopped
networks:
- fruit-net-new # 使用新的网络
frontend:
image: crpi-6tx7j4mb3asmtnu1.cn-beijing.personal.cr.aliyuncs.com/fruit-shop/frontend:latest
container_name: fruit-shop-new-frontend # 修改容器名
ports:
- "8080:80" # 修改端口映射,避免冲突
depends_on:
- backend
restart: unless-stopped
networks:
- fruit-net-new # 使用新的网络
# 定义了一个新的数据卷,用于持久化MySQL的数据,避免容器删除时丢失数据
volumes:
mysql-data-new: # 新的数据卷名
# fruit-net-new: 自定义的桥接网络,允许定义在相同网络下的服务之间互相通信,提高安全性并简化服务发现过程
networks:
fruit-net-new: # 新的网络名
driver: bridge.env
# 数据库配置
DB_ROOT_PASSWORD=root
DB_NAME=fruit_shop
# 可扩展其他配置(如 Redis 密码等)README.md
# 水果超市管理系统 - 一键部署包
## 📦 包含组件
- 前端:Vue3 + Nginx
- 后端:Spring Boot
- 数据库:MySQL 8.0
## 🚀 部署步骤
### 1. 准备环境
- 一台 Linux 服务器(推荐 Ubuntu 22.04 / CentOS 7+)
- 安装 [Docker](https://docs.docker.com/engine/install/) 和 [Docker Compose](https://docs.docker.com/compose/install/)
### 2. 下载本部署包
```bash
git clone https://github.com/yourname/fruit-shop-deploy.git
cd fruit-shop-deploy
### 登录我的账号
3.docker login --username=wyTest1025 crpi-6tx7j4mb3asmtnu1.cn-beijing.personal.cr.aliyuncs.com
### 拉取部署
4. docker-compose up -d版权所有
版权归属:念宇
