安装直接docker pull redis即可,默认redis最新版
设置两个配置文件路径
mkdir -p /root/docker/redis/data
mkdir -p /root/docker/redis/conf
touch redis.conf // 容器挂载用
conf配置文件
bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
requirepass 可选密码设置,但是不设置在公网容易被攻击
docker run --name redis -p 6379:6379 -v /root/docker/redis/data:/data -v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
如果显示image 名字冲突了,直接remove掉即可
docker remove 冲突镜像名
配置出行方向
重启服务器,重启镜像
注意:为什么没配置用户名?
redis以前版本也只支持单用户访问,也就是没有用户名这个概念。auth认证时候只要auth +密码就行,默认是auth+密码
在Redis6.0之前的版本中,登陆Redis Server只需要输入密码(前提配置了密码 requirepass )即可,不需要输入用户名,而且密码也是明文配置到配置文件中,安全性不高。并且应用连接也使用该密码,导致应用有所有权限处理数据,风险也极高。
在Redis6.0有了ACL,新版本才有访问控制列表,终于解决了这些不安全的因素,可以按照不同的需求设置相关的用户和权限。Redis 6.0 ACL相关的配置和使用官方文档写的挺详细的,建议直接去看文档。具体的说明可以查看官方文档:ACL
重启服务,远程连接