通常我們使用下面的命令來啟動 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