在Docker container運行的Redis設定密碼。
安裝環境
- macOS Ventura
- Docker version 20.10.21
- Redis image version 7.0.7
事前要求
參考「Docker 安裝並運行Redis」。
設定Redis密碼
在輸入運行redis image的命令docker run --name redis-server -d -it -p 6379:6379 redis
時,後面加上--requirepass "your_passworld"
即可。
例如設定redis密碼為"12345"則輸入docker run --name redis-server -d -it -p 6379:6379 redis --requirepass "12345"
。
% docker run --name redis-server -d -it -p 6379:6379 redis --requirepass "12345"
494e67a0991b82735b0ef7f8bce0f5454f1c0e76caa1da4a6dd2e7257a60ad64
此時在redis cli輸入命令時會出現錯誤(error) NOAUTH Authentication required.
,因為尚未通過密碼驗證。
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
Docker Compose
或建立下面docker-compose.yml
來運行redis的container及設定redis的密碼。
docker-compose.yml
version: '3.8'
services:
redis:
image: redis:latest
container_name: redis-server
ports:
- '6379:6379'
stdin_open: true
tty: true
command: redis-server --requirepass 12345
在同目錄輸入docker-compose up -d
啟動container。
% docker-compose up -d
[+] Running 2/2
⠿ Network tmp_default Created 0.1s
⠿ Container redis-server Started 0.5s
輸入docker ps
檢視運行的redis container。
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ccf4c04f6f1 redis:latest "docker-entrypoint.s…" 6 seconds ago Up 5 seconds 0.0.0.0:6379->6379/tcp redis-server
輸入Redis密碼
在redis cli輸入auth <your_passworld>
來驗證密碼,這邊為auth 12345
。
127.0.0.1:6379> auth 12345
OK
通過密碼驗證後輸入ping
即可正常使用。
127.0.0.1:6379> ping
PONG
沒有留言:
張貼留言