Docker Compose使用自定义用户名密码启动Redis
通常我们使用下面的命令来启动 redis
容器,此时连接 Redis
的时候是不需要用户认证的
sudo docker run -d --name my-redis -p 6379:6379 redis
此时我们可以使用 redis-server --requirepass "mypassword"
来指定默认用户(default)的密码,客户端可以使用 default/mypassword
来连接 Redis
sudo docker run -d --name my-redis -p 6379:6379 redis redis-server --requirepass "mypassword"
那如果想使用自定义用户名/密码可以通过 redis.conf
来实现。
创建 redis.conf
文件,内容如下
user default off on nopass nocommands
user admin >mypassword on ~* &* +@all
其中第一行是disable默认用户default,第二行是创建 admin/mypassword 用户和分配权限。
然后使用下面命令启动
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,内容如下
name: my-redisservices:my-redis:container_name: my-redisimage: redis:latestrestart: alwaysports:- 6379:6379command: >--'user default off on nopass nocommands'--'user admin on >mypassword ~* &* +@all'
启动容器
sudo docker compose -f ./redis.yml up -d