docker拉取Redis

拉取Redis

redis的读写分离:https://blog.csdn.net/qq_51076413/article/details/123462448
Java整合Jedis:https://blog.csdn.net/qq_51076413/article/details/123462857
Java整合Redis:https://blog.csdn.net/qq_51076413/article/details/123462896
docker拉取redis

拉取redis镜像,不选择版本号,默认拉取最新版本的redis

docker pull redis
创建实例并启动

在执行挂载的命令前,需要先创建对应的文件夹,之后输入挂载命令(不创建目录 后期使用redis时容易出问题)

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

docker run -p 6379: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【首先需要创建好指定的文件夹目录】

docker run 【运行docker容器】

-p 6379:6379【端口映射,将docker中的6379端口映射到主机的端口上】 -p:端口映射

–name redis【为容器起名】

-v /mydata/redis/data:/data \【-v:目录挂载,将容器内部的data 文件夹挂载到Linux的/mydata/redis/data目录里】

-V /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \【将/etc/redis/redis.conf挂载到Linux中指定目录下】

-d --restart=always [配置开机启动]

redis自描述文件

redis自描述文件:
https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf

连接redis客户端
docker exec -it redis redis-cli

测试redis

set a b
get a
exit

参数说明

set a b 在redis中添加数据,set 名称 值

get a 获取a的值

exit 退出redis客户端

此时并未做持久化,重启redis后数据就会丢失

开启redis持久化

在redis.conf中 配置开启持久化

进入conf目录

cd /mydata/redis/conf
vi redis.conf

进入redis.conf文件中,按【i】键,进行输入,输入以下命令,开启持久化【开启的时AOF模式的持久化】

# 持久化
appendonly yes
# 允许外网访问  yes-不运许外网访问 no-允许
protected-mode no
# 允许后台运行 yes-运行后台运行  no-不运许
# daemonize yes
# 监听访问ip,指定的ip才能访问(注释掉或指定IP)
# bind 127.0.0.1
# redis访问密码
requirepass root

之后按Esc键wq 保存并退出

输入命令可以抓取查看redis.conf文件中的配置信息

cat redis.conf
搭建Redis的集群

该集群有3个节点

#部署Redis集群,该集群有3个节点
docker create --name redis-node01 --restart=always --net host -v redis-node01:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-01.conf --port 6379

docker create --name redis-node02 --restart=always --net host -v redis-node02:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-02.conf --port 6380

docker create --name redis-node03 --restart=always --net host -v redis-node03:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 6381

#启动容器
docker start redis-node01 redis-node02 redis-node03

#进入redis-node01容器进行操作  组件集群操作
docker exec -it redis-node01 /bin/bash

#组件集群		为0表示没有父节点
redis-cli --cluster create IP地址:6379 IP地址:6380 IP地址:6381 --cluster-replicas 0

#创建多副本集群--了解
#redis-cli --cluster create IP地址:6379 IP地址:6380 IP地址:6381 IP地址:16379 IP地址:16380 IP地址:16381 --cluster-replicas 1

#进入redis客户端命令行   查看redis节点 
docker exec -it redis-node01 /bin/bash
redis-cli
 
#查询集群信息
127.0.0.1:6379> CLUSTER NODES
4f4fddc825e2387783fff9c972409b264e4df5d5 IP地址:6381@16381 master - 0 1563956537241 3 connected 10923-16383
0616e00533a16e931f8dfb2e8844c35ca5721dc8 IP地址:6380@16380 master - 0 1563956538243 2 connected 5461-10922
498b986e07731cead17ad1c62aa95dba6513c7b0 IP地址:6379@16379 myself,master - 0 1563956537000 1 connected 0-5460

#如果上述步骤出现错误,请重新部署
#重新创建redis容器,因为原有的容器中固定了ip地址的配置
docker stop redis-node01 redis-node02 redis-node03
docker rm redis-node01 redis-node02 redis-node03
#清理挂载数据
docker volume prune
#如需远程连接redis,需配置redis端口6379,在linux防火墙中放开端口

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

/etc/rc.d/init.d/iptables save

#修改安装目录下的redis.conf文件

vim redis.conf

修改以下配置:

#bind 127.0.0.1   # 指定IP(或将这行代码注释,监听所有的ip地址,外网可以访问)访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes     # 把no改成yes,后台运行
集群的连接配置

配置集群

spring.redis.cluster.nodes=IP地址:6379,IP地址:6380,IP地址:6381
spring.redis.cluster.max-redirects=5
redis的读写分离:https://blog.csdn.net/qq_51076413/article/details/123462448
Java整合Jedis:https://blog.csdn.net/qq_51076413/article/details/123462857
Java整合Redis:https://blog.csdn.net/qq_51076413/article/details/123462896

你可能感兴趣的:(linux,redis,docker,redis,docker,database,缓存,分布式)