docker创建redis容器时,挂载的redis配置文件密码不生效,解决方案

起因:

镜像:redis:7.2.4

创建容器之后设置的密码未生效,还是无密码登录状态。

docker-compose脚本:

复制代码
services:
    redis:
    image: redis:7.2.4
    container_name: redis
    restart: always
    ports:
      - 6379:6379
    volumes:
      - ./redis/conf:/usr/local/etc/redis
      - /etc/localtime:/etc/localtime:ro
    networks:
      - your-network
networks:
    your-network:
        external: true

redis.conf内容(简易配置):

复制代码
#bind 0.0.0.0
protected-mode no
daemonize no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 12
save ""
#save 900 1
#save 300 10
#save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
requirepass abc123456

解决方法一:手动解决

1.进入redis容器,命令:docker exec -it redis bash 。红色redis为容器名称

2.输入命令:redis-cli config set requirepass abc123456 红色为设置的密码。

3.验证登录1:redis-cli -a abc123456

验证方式2(推荐):redis-cli 回车,进入控制台,在输入:AUTH abc23456

解决方法二:添加启动项,重新加载配置文件。

复制代码
services:
  redis:
    image: redis:7.2.4
    container_name: redis
    restart: always
    ports:
      - 6379:6379
    volumes:
      - ./conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /etc/localtime:/etc/localtime:ro
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
    networks:
      - 1panel-network
networks:
    1panel-network:
        external: true

commond作用是在容器启动后重新加载redis.conf

配置文件的挂载路径,根据实际调整即可。

相关推荐
摇滚侠21 小时前
Docker 如何查询挂载的目录
运维·docker·容器
头发够用的程序员21 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
gQ85v10Db1 天前
Redis分布式锁进阶第十七篇:微服务分布式锁全局治理 + 跨团队统一规范落地 + 全链路稳定性提升方案
redis·分布式·微服务
Javatutouhouduan1 天前
Java小白如何快速玩转Redis?
java·数据库·redis·分布式锁·java面试·后端开发·java程序员
胡小禾1 天前
K8S常识-如何指定只更新一个deployment中的某一个实例
云原生·容器·kubernetes
江湖有缘1 天前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
倒霉蛋小马1 天前
【Redis】什么是缓存击穿?
数据库·redis·缓存
呆萌的代Ma1 天前
docker内的n8n配置Code节点运行python代码
python·docker·容器
菜鸟分享录1 天前
OpenClaw Docker一键部署(轻松实现多容器隔离)
docker·ai·openclaw·小龙虾
傻瓜搬砖人1 天前
SpringBoot整合Junit-Redis-打包
spring boot·redis·junit