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
相关推荐
万里侯26 分钟前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s
jran-30 分钟前
Redis 命令
数据库·redis·缓存
llrraa20101 小时前
配置docker国内镜像源
运维·docker·容器
June`1 小时前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存
华为云开发者联盟2 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道
m_136873 小时前
Docker Desktop WSL2 启动失败:ext4.vhdx 拒绝访问(E_ACCESSDENIED)完整解决方案
docker
珂玥c3 小时前
k8s集群ingress碎碎念
云原生·容器·kubernetes
Trouvaille ~3 小时前
【Redis篇】初识 Redis:特性、应用场景与版本演进
数据结构·数据库·redis·分布式·缓存·中间件·持久化
米高梅狮子4 小时前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
比特森林探险记5 小时前
context 在 gRPC / Gin / K8s 中的实战
容器·kubernetes·gin