一. 版本
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的启动命令,后面跟着的是容器映射的配置文件,组成是:容器映射目录/宿主机配置文件名,一定不要写错!