網頁

2023/1/11

Docker Redis設定密碼

在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



沒有留言:

張貼留言