使用docker怎么制作鉴权和持久化的redis镜像

redis的镜像默认是没有鉴权的,需要鉴权则需要设置配置文件

  1. 下载最新redis镜像
# docker pull redis:7.2.4
  1. 设置配置文件和Dockerfile
    redis配置文件
# cat redis.conf 
bind 0.0.0.0
port 6379
timeout 0
tcp-keepalive 300
daemonize no
databases 16
save 900 1
save 300 10
save 60 10000
# 是否压缩
rdbcompression yes
# 导入时是否检查
rdbchecksum yes
dir /data
dbfilename dump.rdb
# 设置鉴权密码
requirepass password

Dockerfile配置文件

# cat Dockerfile
FROM redis:7.2.4
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]

添加配置文件后生成新的镜像

# docker build -t redis:test .
  1. 使用生成的镜像启动redis
#  docker run --name redis -d -p 6379:6379 -v /tmp/:/data redis:test

登录镜像

# docker exec -it redis bash

使用redis-cli登录,需要输入鉴权密码pasword

#  redis-cli -p 46379 -h 172.16.5.103 -a 'password'

解释

# -p 端口号
# -h 主机名
# -a 鉴权 如果有特殊字符加单引号shell不能使用双引号

设置并保存数据

> set a 1
> save

退出关闭容器数据文件还在/tmp/dump.rdb

posted @ 2024-01-31 16:31  minseo  阅读(58)  评论(0编辑  收藏  举报