当前位置: 首页 > news >正文

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-ceDocker 引擎主体
docker-ce-cliDocker 命令行客户端
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

http://www.jsqmd.com/news/895406/

相关文章:

  • 简单学习 --> Rag
  • 2026年亲测免费去AI痕迹工具+3大方法,降低论文AI率30%! - 降AI实验室
  • BroadcastChannel 深度解析
  • Hugging Face分词报错怎么办?教你一招避坑
  • 告别命令行!ESP32-S3安全三件套(Flash加密+Secure Boot V2+NVS加密)的图形化工具配置避坑指南
  • 从1600次周下载看开源工具包设计:聚焦高频开发痛点
  • 2026年Python学习指南:从零基础到实战项目,掌握核心语法与工具
  • Windows窗口置顶终极指南:5分钟掌握AlwaysOnTop提升工作效率
  • RTX内核栈溢出检测机制与配置指南
  • 免费QQ音乐格式转换终极指南:如何用QMCDecode解锁加密音频文件
  • 番茄小说下载器:从网络小说到个人图书馆的一站式解决方案
  • RC振荡器和LC振荡器,是包含在单片机内部,还是作为单独的元件?
  • 基于ssm的大学校医院信息管理系统(10112)
  • 5步彻底解决TranslucentTB安装错误:Windows任务栏透明化工具安装指南
  • 新手避坑指南:在RHEL 6.10上安装Cadence IC618和Verdi 2018.09的完整流程(含依赖库检查)
  • EhViewer开源漫画阅读器:打造你的专属Android漫画图书馆
  • 基于STCO框架构建类型安全提示工程,降低LLM幻觉率30%
  • 为AI编码助手集成运行时日志:从日志采集到智能诊断的工程实践
  • 基于Agora与AssemblyAI构建高精度实时语音转录机器人
  • 面向AI智能体的API设计:从人类可读到机器可理解的技术演进
  • Unity游戏配置表管理新思路:不写编辑器扩展,用ExcelDataReader+ScriptableObject实现数据热更新
  • 基于异步并发与复古终端的Claude API健康检查工具开发实践
  • AI搜索优化:揭秘Schema标记44%提升神话与实证策略
  • 开发者如何克服完美主义陷阱,构建内在交付体系实现项目上线
  • 构建本地语音控制AI智能体:从语音识别到安全文件操作的全栈实践
  • 2026年5月北京十大装修公司排行榜推荐:十大专业公司评测夜间施工防噪音 - 品牌推荐
  • 基于Quarkus与MCP协议构建Java多智能体LLM Web前端实践
  • 8天构建AI自动生成PR描述工具:从零到一的技术实战复盘
  • LeetCode 438:找到字符串中所有字母异位词 | 滑动窗口
  • Numeca在Linux下的两种安装路径选择:/usr/ 还是 /home/?权限管理与后续使用对比