首页 > 数据库 >使用Docker部署带密码验证的Redis

使用Docker部署带密码验证的Redis

时间:2024-03-14 09:44:22浏览次数:24  
标签:验证 0.0 redis conf Docker password Dockerfile docker Redis

使用Docker部署Redis时使用的是默认配置文件不带鉴权
需要鉴权可以把设置写到配置文件后通过Dockerfile生成新的镜像

  1. 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
  1. 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" ]
  1. 通过Dockerfile创建新镜像
    tag设置为password
# docker build -t redis:password .
[+] Building 0.4s (7/7) FINISHED                                                                                                                                           docker:default
 => [internal] load .dockerignore                                                                                                                                                    0.1s
 => => transferring context: 2B                                                                                                                                                      0.0s
 => [internal] load build definition from Dockerfile                                                                                                                                 0.1s
 => => transferring dockerfile: 212B                                                                                                                                                 0.0s
 => [internal] load metadata for docker.io/library/redis:7.2.4                                                                                                                       0.0s
 => [internal] load build context                                                                                                                                                    0.0s
 => => transferring context: 330B                                                                                                                                                    0.0s
 => [1/2] FROM docker.io/library/redis:7.2.4                                                                                                                                         0.0s
 => CACHED [2/2] COPY redis.conf /usr/local/etc/redis/redis.conf                                                                                                                     0.0s
 => exporting to image                                                                                                                                                               0.0s
 => => exporting layers                                                                                                                                                              0.0s
 => => writing image sha256:1e1e4ec7910f5e789e966c149f447335cfec87296e18adb12f0606dee2ac7696                                                                                         0.0s
 => => naming to docker.io/library/redis:password                                                                                                                                    0.0s
  1. 使用新镜像启动
# docker run -d -p 6379:6379 -v /opt/redis-data/:/data redis:password
  1. 验证鉴权和持久化
    使用密码连接redis
    如果密码错误会出现认证失败提示
AUTH failed: WRONGPASS invalid username-password pair or user is disabled.
#  redis-cli -h 127.0.0.1 -a 'password'
# 设置a为2并保存
# 127.0.0.1:6379> set a 2
OK
127.0.0.1:6379> save
OK

挂载目录有持久化数据

# ls -lah /opt/redis-data/dump.rdb 
-rw-------. 1 systemd-coredump input 98  3月 14 09:38 /opt/redis-data/dump.rdb

标签:验证,0.0,redis,conf,Docker,password,Dockerfile,docker,Redis
From: https://www.cnblogs.com/minseo/p/18072138

相关文章

  • Redis对象系统
    我们之前介绍了Redis的各种基本数据类型.比如SDS字符串,链表,压缩链表,字典,跳跃表,整数集合等.但是Redis并不是直接使用它们来构建一个数据库的,而是又包装了一层,使用它们构建了对象系统,然后使用这些对象系统来建立数据库系统.Redis中主要的对象类型有:字符串对象列表对象......
  • docker系列-报错以及解决指南
    1.windows运行docker报错WindowsHypervisorisnotpresentDockerDesktopisunabletodetectaHypervisor.HardwareassistedvirtualizationanddataexecutionprotectionmustbeenabledintheBIOS.DockerDesktop-WindowsHypervisorisnotpresentDockerDeskto......
  • 解决尚品甄选验证码图片无法显示bug
    按照他的视频要求去做发现图片无法正常显示,通过查看浏览器网络错误,发现请求验证码的网址是重叠的http://localhost:3001/admin/system/index/login/admin/system/index/generateValidateCode是这样的,说明baseUrl是/admin/system/index/login导致的,所以我对前端文件api/login.js......
  • RedisCluster集群中的插槽为什么是16384个?
    RedisCluster集群中的插槽为什么是16384个?CRC16的算法原理。1.根据CRC16的标准选择初值CRCIn的值2.将数据的第一个字节与CRCIn高8位异或3.判断最高位,若该位为0左移一位,若为1左移一位再与多项式Hex码异或4.重复3至9位全部移位计算结束5.重复将所有输入数据操作完成以上步骤......
  • zabbix-server-pgsql docker镜像说明
    0说明zabbix-server-pgsql在dockerhub的官方说明,供查阅1EnvironmentVariables1.1基本变量Whenyoustartthezabbix-server-pgsqlimage,youcanadjusttheconfigurationoftheZabbixserverbypassingoneormoreenvironmentvariablesonthedockerruncomm......
  • Redis 八种常用数据类型详解
    夯实基础,这篇文章带着大家回顾一下Redis中的8种常用数据类型:5种基础数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。3种特殊数据类型:HyperLogLog(基数统计)、Bitmap(位图)、Geospatial(地理位置)。Redis5种基本数据类型Redis共有5种基本数据类......
  • 使用Golong轻松实现JWT身份验证
    使用Golong轻松实现JWT身份验证JSON Web Tokens (JWT)是一种流行的安全方法,用于在两个方之间表示声明。在Web应用程序领域,它们通常用作从客户端向服务器传输身份信息(声明)的方式。本教程将引导您逐步实现Go应用程序中的JWT身份验证过程。什么是JWT?JSONWebToken(JWT......
  • docker部署nginx
    1拉取nginx镜像dockerpullnginx2部署nginx方式一:直接部署dockerrun-id--namenginx-p80:80nginx方式二:映射index.html部署#在root文件夹下创建html文件夹mkdirroot#进入html文件夹创建index.html文件cdhtmlvimindex.html#自定义首页内容'''<h1>......
  • Windows Docker Desktop安装教程
    1.前言这里只介绍windowsdocker安装方式,linux及macos安装方式请自行网上搜索2.下载dockerdocker官网下载地址:https://www.docker.com/get-started/3.安装dockerdesktop3.1双击exe,点击OK进行安装3.2等待安装3.3点击继续,电脑重启3.4双击运行dockerdesktop3.5点击Ac......
  • 【Azure Redis】部署在AKS中的应用连接Redis时候出现Unable to connect to Redis serv
    问题描述在AKSPod中连接AzureRedis服务,大概率出现连接不上的问题。大多数的错误为 RedisConnectionException:UnabletoconnecttoRedisserver:xxxxxxxxx.redis.cache.chinacloudapi.cn/52.xxx.xxx.xxx:6380,但是有时候的错误信息为: RedisConnectionException:Unable......