docker部署redis

前言

本文章已经默认已经安装好了docker,不会安装docker的自行去找文章攻克。

拉取镜像

本人拉取最新版本的额镜像启动不了redis,所以只能拉取6.0.6版本的redis

docker pull redis:6.0.6

创建容器

拉取镜像之后不要着急,需要去下载redis.conf配置文件,这个配置文件在redis中是默认不存在的,需要去官网下载 redis.conf。下载完成之后需要将改文件上传到服务器上,本文章不采用创建数据卷具名的方式进行挂载。所以在根目录下创建文件夹

cd ~
# 先进入根目录
mkdir docker/redis/conf docker/redis/data -p
# -p表示逐级创建目录,分别创建了conf,data两个目录,接下来将redis.conf文件放入到conf目录下

将redis.conf放入到conf目录下后,对redis.conf进行修改,这里需要修改的配置信息可以参考这篇文章。然后就是根据镜像创建容器,并且启动它

docker run -p 6379:6379 --name redis \
-v ~/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v ~/docker/redis/data:/data \
-d redis:6.0.6 \
redis-server /etc/redis/redis.conf

对上述命令进行解释,-p 6379:6379,前面的6379表示的是主机的端口号,后者的表示容器内部的端口号,也就是通过访问主机端口号来访问容器内部的端口号;–name是对这个容器进行取名字;-v 需要注意的是,~/docker/redis/conf/redis.conf 表示的主机上的这个文件,一般情况下都是要确定到文件,而后面对应的:/etc/redis/redis.conf指的是容器中的目录,也就是说,主机上的redis.conf这个文件映射到容器中redis.conf的目录,那么主机的redis.conf文件就会取代容器里的redis.conf目录。
在这里插入图片描述
如图所示,进入到容器内部后,cd到redis.conf,会提示Not a directory(不是一个目录)。-d redis:6.0.6表示的是对应的镜像,-d则是表示后台启动;redis-server /etc/redis/redis.conf 指的是启动容器参考容器内部 /etc/redis/路径下的redis.conf配置文件。至此就已经启动完毕了。

额外的小知识点

配置redis认证(密码)

在使用redis的过程中,最好是设置一个密码,需要用户进入后才可以访问redis,增加安全性。可以通过一下途径去设置一个密码

# 进入到容器内部,这里的redis是我的容器名
docker exec -it redis bash
# 进入到redis中
redis-cli -p 6379
# 配置密码为 tzc19@
config set requirepass tzc19@
# 获取设置的密码
config get requirepass 

到这一步就已经完成了密码的设置,通过另外开一个redis-cli来访问redis会受到auth认证的处理。但是这里存在一个问题就是当redis重启的时候,密码就消失了。这里就需要到redis.conf里面去配置,永久保留密码

vim redis.conf
# 按住esc,输入/requriepass可以快速查找到位置,按n可以查找下一个,
# 在带有注解requirepass这里添加上一个 requirepass tzc19@ 也就是把密码设置为tzc19@。
# 然后重启redis即可

折磨我很久的小细节

在我数据挂载的时候,总是挂载没有成功,后来发现在根目录下创建的文件夹,需要在数据挂载的时候加上 ~ 符号,例如上述说明的。由于我之前没有注意,直接写成了 -v /docker/… 导致数据挂载一直失败。正确的写法应该如下

docker run -p 6379:6379 --name redis \
-v ~/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v ~/docker/redis/data:/data \
-d redis:6.0.6 \
redis-server /etc/redis/redis.conf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值