透過下列指令:
docker pull redis
通常,類似MySQL,Redis作為資料庫,我們最好還是需要將其配置和資料等等掛載到資料卷以持久化到宿主機。
仍然是使用具名掛載的方式方便管理。
docker volume create redis-config docker volume create redis-data
這樣就創建了兩個資料卷分別是存放設定檔和資料,大家也可以自行命名。
先進入到設定檔的資料卷目錄,可以透過docker volume inspect
指令查看資料卷的位置:
docker volume inspect redis-config
進入目錄後創建名為redis.conf
的文件,並加入以下內容:
requirepass 12345678 dir /data
這裡設定了密碼為12345678
,設定了資料檔案存放目錄為/data
,這些配置都可以自定義,更多配置可以參考這篇部落格。
執行下列指令:
docker run -id --name=redis -v redis-config:/usr/local/etc/redis -v redis-data:/data -p 6379:6379 -e LANG=C.UTF-8 redis su -l root -c "redis-server /usr/local/etc/redis/redis.conf"
上述參數如下:
-v
指定資料卷,可見將容器內/usr/local/etc/redis
掛載至了資料卷redis-config
,將容器內/data
掛載至資料磁碟區redis-data
,請看這裡掛載資料磁碟區的容器內路徑和我們上述預先寫好的設定檔中對應的路徑是要一致的
-p
用於暴露連接埠
-e
用於指定容器內環境變量,設定容器的語言環境變數LANG
值為C.UTF-8
,這個最好是要設置,否則容器內預設是英文環境,使得Redis可能無法存放中文內容
最後是啟動指令,單獨拿出來看一下:
su -l root -c "redis-server /usr/local/etc/redis/redis.conf"
意思是在容器內以root
身分執行redis-server
並指定了設定檔位置。
之所以要以root
身份運行,是因為防止其沒有權限將資料寫入到磁碟。也可見最後指定的設定檔路徑,和前面-v
掛載的設定檔資料卷的容器內路徑一致,這裡好理解,但是要注意,如果你是自訂別的路徑與文件名就需要在-v
掛載時和最後啟動指定配置時做一下變化了。最後,就可以使用客戶端連接伺服器上的Redis了!
以上是Docker如何安裝部署Redis資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!