1.拉取镜像
在线拉取镜像命令:
docker pull redis
无网情况下
服务器无网情况下:
第一步:在一台有网的Linux服务器上在线拉取镜像
命令:docker pull redis
第二步:导出镜像到本地
命令:docker save -o /home/redis.tar redis
导出的镜像在/home目录下
第三步:将镜像包移动到U盘并上传到无网服务器/home目录下,在无网服务器下执行拉取本地镜像命令
命令:docker load -i /home/redis.tar
2.创建持久化存储,日志,配置文件目录
第一步:创建存储目录,日志目录,配置文件目录
命令:mkdir -p /home/redis/{conf,data,log}
第二步:创建日志文件
命令:touch /home/redis/log/redis.log
第三步:将redis.conf文件上传到/home/redis/redis.conf目录
因为docker部署的redis并不自带redis.conf文件,需要自己下载
先切换目录,命令:cd /home/redis/redis.conf
在线下载命令:wget http://download.redis.io/redis-stable/redis.conf
服务器无网可在有网的电脑上浏览器输入以下地址下载,然后再上传服务器
http://download.redis.io/redis-stable/redis.conf
第四步:修改redis.conf配置文件以下内容
# 让外部设备连接 bind 0.0.0.0 # 关闭保护模式 protected-mode no # 关闭后台运行(避坑提示,因为docker运行就已经有后台守护,改为yes会启动不了redis) daemonize no # 设置日志文件路径(避坑提示,此路径为容器内的路径,切勿当成宿主路径) logfile "/etc/redis.log" # 设置主服务器密码(为以后redis集群做基础,无集群需求可以不添加) masterauth 123456 # 设置redis密码(如果以后有哨兵集群需求,主与从的redis密码必须一致) requirepass 123456
第四步:赋予配置文件和日志文件权限
命令:chmod 777 /home/redis/conf/redis.conf /home/redis/log/redis.log
3.启动镜像
启动镜像命令:
docker run --name redis --restart=always -p 6379:6379 -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -v /home/redis/log/redis.log:/etc/redis.log -d redis redis-server /etc/redis/redis.conf
解析:
-p:主机端口:容器端口。
-d:启动的镜像名称。
--name:设置容器名称。
--restart=always:设置docker启动时,容器跟随自启。
redis-server /etc/redis/redis.conf:启动redis镜像时指定配置文件进行启动
-v /home/redis/log/redis.log:/etc/redis.log:挂载容器日志到宿主,方便查看日志。
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf:挂载容器配置文件到宿主,方便修改配置文件。
-v /home/redis/data:/data:挂载容器存储文件到宿主,避免因不小心卸载容器或者容器损坏导致数据丢失不可找回风险。
4.开放防火墙端口
开启防火墙指定端口命令:
firewall-cmd --add-port=6379/tcp --permanent
刷新防火墙端口命令:
firewall-cmd --reload
5.验证redis是否部署成功
进入容器并进入redis-cli
命令:docker exec -it redis bash -c "redis-cli -a 密码"
设置键命令:set 键名称 值
获取键命令:get 键名称
返回值,说明docker部署的redis正常运行