一. 版本
CentOS:7.6
Docker:19.03
Redis:5.0.9
二. 下载和安装
1. 在Docker中下载Reids镜像:
docker pull redis:5.0.9
2. 创建Redis在宿主机的目录映射,为了给Redis容器提供配置文件:
mkdir -p /usr/local/redis/{conf,data}
3. Redis官方提供了下载配置文件的URL:
这个网址里可以根据自己的版本选择的下载需要的版本配置文件,不过可能需要特殊手段:https://redis.io/topics/config
在这里我提供一个从官网下载的Redis5的配置文件:https://files.cnblogs.com/files/NyanKoSenSei/redis.conf.css
下完了不要忘记把文件后缀的 .css 删掉。可以选择在本地下载完修改完再上传到服务器,也可以直接在服务器里下载,这里我就是直接在服务器里下载。
// 跳转到新建的配置文件目录
cd /usr/local/redis/conf
// 使用命令下载配置文件
wget https://files.cnblogs.com/files/NyanKoSenSei/redis.conf.css
// 下载完毕修改文件名
mv redis.conf.css redis.conf
4. 修改Redis配置文件:
// 编辑配置文件
nano redis.conf
// 把bind注释掉
# bind 127.0.0.1
// protected-mode改为no
protected-mode no
// 注意:daemonize一定不能设置为yes,否则无法正常运行
daemonize yes
// 设置密码
requirepass 密码
// 保存并退出
5. 重新回到redis目录:
cd /usr/local/redis
6. 创建redis容器:
// 示例
docker run -p 6379:6379
--name myr
-v $PWD/conf:/etc/redis -v $PWD/data:/data
--restart=always --privileged=true
-d redis:5.0.9
redis-server /etc/redis/redis.conf
// 解释
// docker run :是docker创建容器命令
// -p 宿主机端口:容器端口 :端口映射
// --name 容器名 :自定义容器名
// -v 宿主机目录:容器目录 :目录映射
// --restart=always :docker启动时自启动该容器
// --privileged=true :获取容器真实root权限
// -d 镜像:版本 :选择要创建容器的镜像,并在后台运行
// redis-server /etc/redis/redis.conf :指定redis启动时的配置文件
7. 注意
(1) 做目录映射的时候如果宿主机目录很深,多用$PWD,也就是所在目录作为前缀,否则容易写错路径导致启动失败。
(2) 目录映射的时候注意映射的是宿主机保存配置文件的那个目录,不要写成“文件映射”,否则也无法启动(血泪)。
(3) -d 最好紧靠在镜像之前,不晓得为什么顺序一乱就可能导致创建无法启动。
(4) redis-server就是redis的启动命令,后面跟着的是容器映射的配置文件,组成是:容器映射目录/宿主机配置文件名,一定不要写错!