1. 环境准备
在进行 Docker 安装之前,我们需要确保 CentOS 系统已经进行了一些操作:
1.1 关闭 SELinux
需要修改 /etc/sysconfig/selinux 文件,将 SELINUX=enforcing 改成 SELINUX=disabled,并重启服务器:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
重启服务器。
1.2 安装 Docker
更新 yum 包管理器。
yum -y update
安装 Docker 的依赖包。
yum -y install yum-utils device-mapper-persistent-data lvm2
使用 yum-config-manager 添加 docker 源。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker。
yum -y install docker-ce
启动 Docker 并设置开机自启。
systemctl start docker
systemctl enable docker
2. 获取 Redis 镜像
在 Docker Hub 上,我们可以查询到 Redis 的官方镜像。使用 Docker 拉取 Redis 镜像。
docker pull redis
3. 运行 Redis 容器
使用 Docker 运行 Redis 容器。
docker run -d --name redis -p 6379:6379 redis
说明:
-d: 表示以后台运行方式启动。
--name redis: 指定容器名称为 redis。
-p 6379:6379: 指定宿主机端口和容器内部端口映射,冒号前面的 6379 表示宿主机的端口,后面的 6379 表示容器内部的端口。
redis: 使用的镜像名称。
4. 验证 Redis 是否运行成功
可以使用 redis-cli 工具来连接 Redis 服务器,查看是否正常启动。
执行该命令将进入 redis 容器内部:
docker exec -it redis redis-cli
输入 ping,看看 Redis 是否返回 PONG。
127.0.0.1:6379> ping
PONG
如果返回 PONG,说明 Redis 已经成功启动。
5. 修改 Redis 配置文件
使用 Docker 运行 Redis 容器,默认情况下,Redis 所有配置文件都在容器内存储。我们可以使用 Docker cp 命令将 Redis 的配置文件复制到宿主机,进行修改。
容器内 Redis 配置文件位置,/usr/local/etc/redis/redis.conf。
将容器内的 redis.conf 配置文件复制到宿主机 /data/redis 目录下。
docker cp redis:/usr/local/etc/redis/redis.conf /data/redis/
在宿主机 /data/redis 目录下打开 redis.conf 文件:
vi /data/redis/redis.conf
修改配置文件,找到 bind 127.0.0.1,将其修改为注释掉的状态,以便在任何 IP 地址访问 Redis。
# bind 127.0.0.1
保存并退出。
6. 重新启动 Redis 容器
重新构建 Redis 容器,使用修改后的配置文件。
docker run -d --name redis -p 6379:6379 -v /data/redis/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
说明:
-v /data/redis/redis.conf:/usr/local/etc/redis/redis.conf: 将容器内部的 /usr/local/etc/redis/redis.conf 文件挂在到物理机的 /data/redis/redis.conf 目录下,这样当容器内部使用 /usr/local/etc/redis/redis.conf 文件时,其实是使用挂载在 /data/redis/redis.conf 下的这个文件。
redis-server /usr/local/etc/redis/redis.conf: 执行该脚本之后,会将挂载的配置文件 /usr/local/etc/redis/redis.conf 用作启动 Redis 服务器时的配置。
7. 验证 Redis 是否配置成功
使用 redis-cli 工具连接 Redis 服务器,查看是否正常运行。
docker exec -it redis redis-cli
127.0.0.1:6379> ping
PONG
如果返回 PONG,那么说明 Redis 配置成功。
总结
通过以上步骤,我们成功的以 Docker 的方式安装了 Redis。Docker 的优势在于快速部署、方便管理、高效安全。特别是在分布式环境下,Docker 的作用将会更为明显。