前言

在现代应用开发中,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的完整流程。主要步骤包括:

  1. 替换 yum 源 → 提升软件包下载速度
  2. 安装 Docker CE → 注意选择兼容版本
  3. 配置镜像加速器 → 解决拉取镜像速度慢的问题
  4. 运行 MySQL 容器 → 通过数据卷实现持久化存储
  5. 运行Redis容器 

掌握这些基础操作后,你就可以利用 Docker 快速部署各种服务,构建自己的开发环境了。


借鉴:
https://blog.csdn.net/qq_25482375/article/details/126250746?fromshare=blogdetail&sharetype=blogdetail&sharerId=126250746&sharerefer=PC&sharesource=m0_56238915&sharefrom=from_linkhttps://blog.csdn.net/qq_25482375/article/details/126250746?fromshare=blogdetail&sharetype=blogdetail&sharerId=126250746&sharerefer=PC&sharesource=m0_56238915&sharefrom=from_link

https://blog.csdn.net/qq_43225945/article/details/150741881?fromshare=blogdetail&sharetype=blogdetail&sharerId=150741881&sharerefer=PC&sharesource=m0_56238915&sharefrom=from_linkhttps://blog.csdn.net/qq_43225945/article/details/150741881?fromshare=blogdetail&sharetype=blogdetail&sharerId=150741881&sharerefer=PC&sharesource=m0_56238915&sharefrom=from_link

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐