Docker Compose使用自定义用户名密码启动Redis

通常我们使用下面的命令来启动 redis 容器,此时连接 Redis 的时候是不需要用户认证的

shell 复制代码
sudo docker run -d --name my-redis -p 6379:6379 redis

此时我们可以使用 redis-server --requirepass "mypassword" 来指定默认用户(default)的密码,客户端可以使用 default/mypassword 来连接 Redis

shell 复制代码
sudo docker run -d --name my-redis -p 6379:6379 redis redis-server --requirepass "mypassword"

那如果想使用自定义用户名/密码可以通过 redis.conf 来实现。

创建 redis.conf 文件,内容如下

shell 复制代码
user default off on nopass nocommands
user admin >mypassword on ~* &* +@all

其中第一行是disable默认用户default,第二行是创建 admin/mypassword 用户和分配权限。

然后使用下面命令启动

shell 复制代码
docker run --name my-redis -p 6379:6379 -v /home/kongxx/redis.conf:/etc/redis.conf redis redis-server /etc/redis.conf

最后,使用compose文件redis.yml,内容如下

shell 复制代码
name: my-redis

services:
    my-redis:
        container_name: my-redis
        image: redis:latest
        restart: always
        ports:
            - 6379:6379
        command: >
            --'user default off on nopass nocommands'
            --'user admin on >mypassword ~* &* +@all'

启动容器

shell 复制代码
sudo docker compose -f ./redis.yml up -d
相关推荐
笨小蛙6 分钟前
服务器Docker容器创建与VScode远程连接SSH使用
服务器·vscode·docker·容器·ssh
怡人蝶梦31 分钟前
Spring Boot启动慢?Redis缓存击穿?Kafka消费堆积?——Java后端常见问题排查实战
java·jvm·redis·kafka·springboot·prometheus·microservices
蓝色的猴子1 小时前
Linux.docker.k8s基础概念
linux·docker·kubernetes
斯普信云原生组1 小时前
K8S集群主机网络端口不通问题排查
网络·容器·kubernetes
matrixlzp1 小时前
K8S StatefulSet 快速开始
云原生·容器·kubernetes
纪元A梦1 小时前
Redis最佳实践——安全与稳定性保障之数据持久化详解
数据库·redis·安全
夜影风1 小时前
Redis持久化机制
数据库·redis·缓存
Zfox_1 小时前
Redis:功能特性和应用场景
服务器·数据库·redis·缓存·微服务
David爱编程2 小时前
容器网络是怎么工作的?Pod、Service、CNI 一次讲清楚!
后端·云原生·容器
bing_1582 小时前
当 Redis 作为缓存使用时,如何保证缓存数据与数据库(或其他服务的数据源)之间的一致性?
数据库·redis·缓存