2025-09-16 11:54:39 +08:00

98 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Linux一键安装工具
## 项目介绍
这是一个用于在 Linux 系统上一键安装和部署多种常用容器化应用的工具。通过运行单个脚本,用户可以快速搭建完整的开发或生产环境,包括 Docker、1Panel 控制面板以及各种常用服务(如 MySQL、Redis、MinIO、RocketMQ 等)。
## 系统要求
- 操作系统:支持 x86_64 架构的 Linux 系统
- 权限要求:必须以 root 用户权限运行
- 磁盘空间:至少需要 10GB 可用空间
- 内存:建议 4GB 以上内存
## 项目结构
```
├── Readme.md # 项目说明文档
├── install.sh # 主安装脚本
├── busicess_resources/ # 业务资源目录
│ ├── containers/ # 容器镜像 tar 文件
│ └── dataset/ # 应用数据集和配置文件
└── offline_resources/ # 离线资源目录
├── 1panel/ # 1Panel 控制面板安装包
├── debs/ # Debian 系统依赖包
└── docker-compose/ # Docker Compose 工具
```
## 包含的组件
### 基础组件
- **Docker**:容器化运行环境
- **Docker Compose**:多容器管理工具
- **1Panel**Linux 服务器管理面板
### 应用容器
- **MySQL 8.4.3**:关系型数据库
- **Redis 7.4.1**:高性能缓存数据库
- **MinIO**:对象存储服务
- **Nginx**Web 服务器和反向代理
- **RocketMQ 5.3.1**:分布式消息中间件
- **Portainer CE 2.28.1**Docker 容器管理界面
- **phpMyAdmin 5.2.2**MySQL 数据库管理工具
- **Amazon Corretto 21**Java 运行环境
- **实验系统**simulation-manager-mysql v2.0.184 和 simulation-ui v2.0.145
## 使用方法
### 1. 准备工作
确保已下载完整的项目文件,包括所有资源目录和安装脚本。
### 2. 赋予执行权限
打开终端,进入项目目录,执行以下命令:
```bash
# 如果被压缩成一个 .tar.gz 包
# tar zxvf install.tar.gz
# 赋权
chmod u+x install.sh
```
### 3. 运行安装脚本
以 root 用户身份运行安装脚本:
```bash
sudo ./install.sh
```
### 4. 安装过程
安装脚本会自动执行以下步骤:
- 检查系统环境和权限
- 安装 Docker 和 Docker Compose
- 安装 1Panel 控制面板
- 加载所有容器镜像
- 创建 Docker 网络
- 安装和配置各个应用容器
### 5. 验证安装
安装完成后,脚本会显示各组件的版本信息和状态。可以通过以下方式验证安装结果:
- **访问 1Panel**:打开浏览器,输入服务器 IP 地址和 1Panel 端口(默认 10086
- **查看 Docker 容器**:执行 `docker ps` 命令查看正在运行的容器
## 注意事项
1. 脚本必须以 root 权限运行
2. 目前仅支持 x86_64 架构的 Linux 系统
3. 确保 `offline_resources` 目录与脚本在同一位置,且包含所有必需的安装包
4. 安装过程可能需要一定时间,取决于系统性能(离线安装,不考虑网络状况)
5. 如果已安装 Docker 或 1Panel脚本会跳过相应的安装步骤
## 更新日志
- **v1.0.0**:初始版本,支持一键安装 Docker、1Panel 和多种常用容器应用
## 免责声明
本工具仅供学习和测试使用,在生产环境中使用前请**进行充分测试**。对于使用本工具可能导致的任何损失,作者不承担任何责任。