Linux(CentOS)环境Docker容器中安装Redis镜像

Linux(CentOS)环境Docker容器中安装Redis镜像

1、下载Redis镜像

docker pull redis     #如果使用docker pull redis命令,就会下载最新的redis镜像

docker pull redis:5.0.5  #下载Redis 5.0.5版本镜像

2、创建实例并启动Redis

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf  

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

参数解释:

mkdir -p /mydata/redis/conf          #创建目录
touch /mydata/redis/conf/redis.conf  #创建文件(为什么要创建这个文件呢?因为我们在把容器内部的文件挂载到主机的时候
会把他当做目录去挂载,所以提前创建好这个文件就不会挂载成目录了)

docker run -p 6378:6379 --name redis \  #把Docker中的redis的6379端口映射到主机的6378端口
(因为我主机已经安装了redis,6379端口被占用了) --name redis 是把redis容器起名叫redis
-v /mydata/redis/data:/data \           #将redis容器内部的data文件夹挂载到主机
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \  #将redis容器内部的redis.conf文件挂载到主机
-d redis redis-server /etc/redis/redis.conf  #开启Redis的后台运行

实例创建成功:

[root@Silence /]# mkdir -p /mydata/redis/conf
[root@Silence /]# touch /mydata/redis/conf/redis.conf
[root@Silence /]# docker run -p 6378:6379 --name redis \
> -v /mydata/redis/data:/data \
> -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
> -d redis redis-server /etc/redis/redis.conf
32142759198fa843b8c98915d48c19acd4f1d1d4e4c179b375b5ac4432d73d3f
[root@Silence /]# 
#将容器的端口映射到主机端口
docker run  -p  ip:hostPort:containerPort  redis  

查看Docker中正在运行的容器:

[root@Silence /]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
81eb02763fc4        redis               "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        0.0.0.0:6378->6379/tcp              nostalgic_johnson
743df4fba2e9        mysql:5.7           "docker-entrypoint.s…"   3 hours ago         Up 34 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

可以看到我们刚刚安装的redis已经运行起来了。

3、打开redis客户端连接redis

docker exec -it redis redis-cli

测试redis:

[root@Silence /]# docker exec -it redis redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set name docker
OK
127.0.0.1:6379> get name
"docker"
127.0.0.1:6379> exit
[root@Silence /]# docker restart redis
redis
[root@Silence /]# docker exec -it redis redis-cli
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> 

经过测试我们发现我们插入的数据在redis重启后就查询不到了,也就是说redis并没有做持久化操作,所以我们需要配置一下redis进行持久化操作。

vi /mydata/redis/conf/redis.conf  #编辑redis.conf文件

#在文件中添加appendonly yes      #打开AOF持久化模式
保存并退出

docker restart redis  #重启redis

改完配置文件之后我们再来测试一下:

[root@Silence conf]# docker exec -it redis redis-cli
127.0.0.1:6379> set name docker
OK
127.0.0.1:6379> get name
"docker"
127.0.0.1:6379> exit
[root@Silence conf]# docker restart redis
redis
[root@Silence conf]# docker exec -it redis redis-cli
127.0.0.1:6379> get name
"docker"
127.0.0.1:6379> 

再次重启后我们发现Redis已经有持久化操作了,redis突然崩溃也不会造成数据的丢失了。

4、使用可视化工具远程连接Redis

如果你使用的阿里云服务器那么需要在安全组中打开6379端口,详情请看《Linux(CentOS)环境Docker容器中安装Mysql镜像》这篇文章的 问题解决 部分。

我使用的是redis-desktop-manager可视化工具来远程连接的Redis
在这里插入图片描述

连接成功!至此,Redis就可以正常使用了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Silence-wen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值