CentOS 7 安装 Docker 与 MySQL 、Redis完整指南
前言
在现代应用开发中,Docker 已成为不可或缺的容器化工具,而 MySQL 作为最流行的开源关系型数据库之一,几乎是每个项目的必备组件。本文将详细介绍在 CentOS 7 系统上如何完整安装 Docker CE 并配置 MySQL 8.0 容器,帮助你快速搭建开发环境。
一、安装 Docker CE
1.1 更换阿里云 YUM 源
为了确保软件包下载速度,建议将 CentOS 默认源替换为国内镜像。这里以阿里云源为例:
# 备份原有源(可选但建议操作)
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载阿里云 CentOS 7 源配置文件
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清理并重建 Yum 缓存
sudo yum clean all
sudo yum makecache
1.2 卸载旧版本 Docker
如果系统之前安装过旧版 Docker,需要先彻底清除以避免版本冲突:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
提示:如果这是首次安装 Docker,可跳过此步骤。
1.3 安装 Docker 依赖包
Docker 运行需要一些基础依赖工具,这些包主要用于管理 yum 源及存储驱动:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.4 添加 Docker CE 阿里云镜像源
官方 Docker 源在国内访问较慢,这里推荐使用阿里云提供的镜像加速源:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.5 查看可用版本并选择安装
Docker 官方可能推送较新的版本,但部分版本与 CentOS 7 存在兼容性问题。建议安装经过验证的稳定版本。
首先,查看所有可安装的版本:
yum list docker-ce --showduplicates | sort -r
版本推荐:20.10.x、24.0.7 等稳定版本与 CentOS 7 兼容性良好。
1.6 安装指定版本 Docker CE
⚠️ 注意:请勿直接执行 yum install docker-ce,否则可能安装最新但不兼容的版本!
以安装 Docker 24.0.7 为例:
# 安装 Docker CE 主程序、CLI 工具和 containerd
sudo yum install -y docker-ce-24.0.7-1.el7 docker-ce-cli-24.0.7-1.el7 containerd.io
上述命令同时安装了三个核心组件:
| 组件 | 说明 |
|---|---|
| docker-ce | Docker 引擎主体 |
| docker-ce-cli | Docker 命令行客户端 |
| containerd.io | 容器运行时 |
1.7 启动并设置开机自启
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自动启动
sudo systemctl enable docker
# 查看 Docker 运行状态
sudo systemctl status docker
二、配置 Docker 镜像加速器
国内直接访问 Docker Hub 速度较慢,配置镜像加速器可以显著提升拉取效率:
# 创建 Docker 配置目录
sudo mkdir -p /etc/docker
# 配置镜像加速源
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
EOF
# 重启 Docker 服务使配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker
# 验证配置是否成功
docker info | grep -A 10 "Registry Mirrors"
常见镜像源:阿里云(需登录获取专属地址)、163 网易源、中科大源等,可根据实际网络情况选择。
三、安装并运行 MySQL 8.0
3.1 拉取 MySQL 镜像
sudo docker pull mysql:8.0
3.2 准备数据持久化目录
为了保证容器删除后数据不丢失,建议将 MySQL 数据目录挂载到宿主机:
# 创建挂载目录
sudo mkdir -p /mysqldata/mysql/{log,data,conf}
# 授权目录(MySQL 容器内使用 mysql 用户运行)
sudo chown -R 777 /mysqldata/mysql/{log,data,conf}
3.3 运行 MySQL 容器
docker run -d \
--name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=yourPassword\
mysql:8.0
参数说明:
| 参数 | 说明 |
|---|---|
-d |
后台运行容器 |
--name mysql |
容器名称 |
-v |
挂载数据卷,实现数据持久化 |
-p 3306:3306 |
端口映射:宿主机:容器 |
-e MYSQL_ROOT_PASSWORD |
设置 root 用户密码 |
3.4 验证 MySQL 运行状态
# 查看运行中的容器
docker ps
# 查看容器日志
docker logs mysql
# 进入 MySQL 容器
docker exec -it mysql bash
# 在容器内连接 MySQL
mysql -u root -p
四、Redis安装
1、创建挂载目录和配置文件
## 创建目录
mkdir -p /usr/local/redis/data
## 创建文件
touch /usr/local/redis/conf/redis.conf
配置文件:
#bind 192.168.1.100 10.0.0.1
#bind 127.0.0.1 ::1
bind 127.0.0.1
protected-mode no
port 6379
tcp-backlog 511
requirepass 260526
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 30
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
2、下载Redis镜像
| 命令 | 描述 |
|---|---|
| docker pull redis | 下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest ) |
| docker pull redis:xxx | 下载指定版本的Redis镜像 (xxx指具体版本号) |
3、运行镜像,创建容器
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 \
-p 6379:6379 --name myredis \
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d redis:5.0 redis-server /etc/redis/redis.conf
4、进入Redis容器
### 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
### 进入 Redis 控制台
redis-cli
### 添加一个变量为 key 为 name , value 为 bella 的内容
> set name bella
### 查看 key 为 name 的 value 值
> get name
### 或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it redis redis-cli
五、总结
本文详细介绍了在 CentOS 7 系统上安装 Docker CE 并配置 MySQL、Redis的完整流程。主要步骤包括:
- 替换 yum 源 → 提升软件包下载速度
- 安装 Docker CE → 注意选择兼容版本
- 配置镜像加速器 → 解决拉取镜像速度慢的问题
- 运行 MySQL 容器 → 通过数据卷实现持久化存储
- 运行Redis容器
掌握这些基础操作后,你就可以利用 Docker 快速部署各种服务,构建自己的开发环境了。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)