1. 项目概述
最近在搭建一个简单的开发环境时,需要快速部署一个MySQL数据库。考虑到Docker的便捷性,我决定写一个极简版的Shell脚本来自动化这个过程。这个脚本的核心目标是:用最少的配置,在Rocky Linux/CentOS系统上快速部署一个可用的MySQL容器。
为什么选择这种方式?首先,Docker容器化部署可以避免污染主机环境;其次,Shell脚本自动化可以节省重复操作的时间;最后,极简配置意味着更少的出错点和更快的启动速度。这个方案特别适合开发测试环境、临时数据库需求或者CI/CD流程中的数据库服务。
2. 环境准备与依赖检查
2.1 系统兼容性确认
这个脚本主要针对Rocky Linux和CentOS系统设计,因为它们使用相同的包管理工具(dnf/yum)。如果你使用的是Ubuntu或其他Debian系系统,需要将dnf命令替换为apt-get。
注意:虽然脚本中包含了自动安装Docker的部分,但建议在生产环境预先手动安装Docker,以确保版本和配置的一致性。
2.2 Docker安装逻辑解析
脚本中的Docker安装部分做了几件重要的事情:
- 先移除旧版Docker相关软件包,避免冲突
- 安装必要的依赖包(yum-utils等)
- 添加Docker官方仓库
- 安装docker-ce核心组件
- 启动并设置开机自启
bash复制if ! command -v docker &> /dev/null; then
echo "Docker未安装,开始自动安装..."
sudo dnf remove -y docker* &> /dev/null
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2 &> /dev/null
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo &> /dev/null
sudo dnf install -y docker-ce docker-ce-cli containerd.io &> /dev/
