Docker-Compose安装单机版Redis

Redis搭建

  1. 创建需要的目录:mkdir -p /Users/redis/data /Users/redis/logs /Users/redis/conf
  2. 给创建的这两个目录分配权限:chmod -R 777 /Users/redis/data* 和 chmod -R 777 /Users/redis/logs*
  3. 编辑docker-compose.yml文件
  4. 编写redis.conf配置文件
    搭建redis目录机构如下
    ├─redis
    │ ├─conf
    │ │ │redis.conf
    │ ├─data
    │ │docker-compose.yml
    │ ├─logs

docker-compose.yml

version: '3.3'
services:
      redis:
        image: redis
        restart: always
        hostname: redis
        container_name: redis
        privileged: true
        ports:
          - 6379:6379
        environment:
          TZ: Asia/Shanghai
        volumes:
          - ./data:/data
          - ./conf/redis.conf:/etc/redis/redis.conf
          - ./logs:/logs
        command: ["redis-server","/etc/redis/redis.conf"]

redis.conf

# 开启远程可连接  需要注释点bind 127.0.0.1并把protected-mode yes改为no
# bind 127.0.0.1
protected-mode no

# 端口
port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel verbose

# redis的日志
logfile /logs/redis.log

databases 16

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

replica-priority 100

# 设置密码
requirepass root

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

# redis持久化,不然重启redis缓存会消失
appendonly yes

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

aof-use-rdb-preamble 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

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes

实操命令

[root@localhost ~]# mkdir -p  /Users/redis/data  /Users/redis/logs  /Users/redis/conf
[root@localhost ~]# chmod -R 777 /Users/redis/data*
[root@localhost ~]# chmod -R 777 /Users/redis/logs*
[root@localhost ~]# cd /Users/redis/
[root@localhost redis]# ll
total 4
drwxr-xr-x. 2 root root  24 Mar 30 20:37 conf
drwxrwxrwx. 2 root root   6 Mar 30 19:53 data
-rw-r--r--. 1 root root 426 Mar 30 20:39 docker-compose.yml
drwxrwxrwx. 2 root root   6 Mar 30 19:53 logs
[root@localhost redis]# docker-compose up -d
[+] Running 7/7
 ✔ redis 6 layers [⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                              34.9s 
   ✔ f1f26f570256 Pull complete                                                  28.2s 
   ✔ 8a1809b0503d Pull complete                                                  28.5s 
   ✔ d792b14d05f9 Pull complete                                                  28.8s 
   ✔ ad29eaf93bf6 Pull complete                                                  29.9s 
   ✔ 7cda84ccdb33 Pull complete                                                  30.0s 
   ✔ 95f837a5984d Pull complete                                                  30.1s 
[+] Running 2/2
 ✔ Network redis_default  Created                                                0.9s 
 ✔ Container redis        Started                                                4.3s 
[root@localhost redis]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/redis     latest              31f08b90668e        8 days ago          117 MB
[root@localhost redis]# cd logs/
[root@localhost logs]# ll
total 4
-rw-------. 1 polkitd input 2366 Mar 30 23:13 redis.log
[root@localhost logs]# docker ps
CONTAINER ID  IMAGE  COMMAND                 CREATED        STATUS           PORTS                  NAMES
5e29aa574986  redis  "docker-entrypoint..."  5 minutes ago  Up 5 minutes   0.0.0.0:6379->6379/tcp   redis
[root@localhost logs]# docker exec -it redis redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.        #这个错误是因为没有进行密码认证
127.0.0.1:6379> auth root                      #输入密码
OK
127.0.0.1:6379> keys *                         #查询所有的key
1) "menu_1"
2) "menu_2"
127.0.0.1:6379> exit                           #退出
#第2种进入方式 docker exec -it 容器ID redis-cli -h 127.0.0.1 -p 6379 -a Password
[root@localhost logs]# docker exec -it 5e29aa574986 redis-cli -h 127.0.0.1 -p 6379 -a root
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> keys *
1) "menu_1"
2) "menu_2"
127.0.0.1:6379>

最后

至此便是使用Docker-Compose安装单机版Redis的过程,希望能给您带去帮助!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值