基于Docker的Redis安装

一、搜索镜像

通过docker 搜索 redis 镜像文件

sh 复制代码
docker search redis

二、下载镜像

通过docker images 查看下载下来的redis镜像,默认下载最新的版本

复制代码
docker pull redis

三、配置挂载文件

创建本地与docker映射的目录,即本地存放的位置

创建本地存放redis的位置;

可以自定义,因为我的docker的一些配置文件都是存放在/data目录下面的,所以我依然在/data目录下创建一个redis目录,这样是为了方便后期管理.

创建 data 、conf、以及redis.conf配置文件,否则无法通过redis deskTop manager访问

sh 复制代码
mkdir -p /root/redis/data /root/redis/conf #-p 表示递归
touch /root/redis/conf/redis.conf #创建配置文件

配置文件内容如下

sh 复制代码
# 允许远程连接
# bind 127.0.0.1
# 受保护模式,该模式开启只能通过127.0.0.1访问,无法通过外网访问,所以这里要禁用
protected-mode no
# appendonly开启持久化
appendonly yes
# 密码,如不需要验证可以不需要
# requirepass passwd

四、创建容器

sh 复制代码
docker run -p 6379:6379 --name myredis
-v /root/redis/data:/data
-v /root/redis/conf/redis.conf:/etc/redis/redis.conf
-d  redis redis-server /etc/redis/redis.conf
复制代码
--name 给容器起名字
-v 将物理机地文件挂载到docker容器内
-d 后台运行
-p 将物理机端口映射到容器端口上
redis 镜像名称
redis-server /etc/redis/redis/conf //启动redis程序并挂载配置文件

五、启动容器

复制代码
docker start myredis

六、查看容器状态

查看容器是否启动成功

复制代码
docker ps

七、使用linux 客户端连接redis 并进行测试

复制代码
docker exec -it myredis redis-cli //默认连接本地,端口为6379

使用get,set进行存取测试,如果这里存储的是汉字,在获取的时候可能获取到的16位的字符串,这里只需要连接的时候添加 --raw即可,完整语句如下:

docker exec -it myredis redis-cli --raw

八、使用redis desktop manager连接redis

name: 随便写 host:主机ip port:6379(默认端口号,如有修改填写修改后的端口号) auth:密码(如无忽略即可) 如通过redis-cli可以连接,而通过redis desktop manager无法连接 ,请确认第三步或第四步

九、补充

如果执行docker启动命令后,使用docker ps命令,找不到正在运行的redis。请使用docker logs 容器名,如上述所创建的容器,docker logs myredis 即可查找错误日志,如下图所示,使用docker start myredis 启动容器后,容器并没有启动,所以我们这里通过查看日志的方式解决

从下图可以看出,是读取配置文件出错了,也就是我们挂载的redis.conf配置文件

将上述中的redis.conf 配置文件中的第二行 由一行改为两行即可,如下图所示:


感谢大家的耐心阅读,如有建议请私信或评论留言

相关推荐
jingyu飞鸟4 小时前
Linux系统发送邮件,解决信誉等级低问题 docker compose修改启动一键使用
linux·运维·docker
杨浦老苏4 小时前
数据库备份管理工具DBackup
数据库·docker·备份·群晖
uElY ITER4 小时前
基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证
spring boot·redis·spring
米高梅狮子4 小时前
06.Kubernetes Secret和Kubernetes Controllers
云原生·容器·kubernetes
雨奔5 小时前
Kubernetes 实操:创建 LimitRange 和 Pod 并管理内存资源
云原生·容器·kubernetes
lars_lhuan6 小时前
K8s跨命名空间SSL认证解决方案:Reflector工具实战
容器·kubernetes·ssl
java干货6 小时前
如果光缆被挖断导致 Redis 出现两个 Master,怎么防止数据丢失?
数据库·redis·缓存
郝开6 小时前
Docker Compose 本地环境搭建:redis
redis·docker·容器
爱莉希雅&&&7 小时前
Ansible+Docker案例(含ansible配置安装docker)
linux·运维·mysql·nginx·docker·容器·ansible
lulukanshijie8 小时前
Helm 入门:Kubernetes 包管理器介绍
其他·云原生·容器·kubernetes