Docker案例分析:搭建Redis服務

使用官方的redis鏡像搭建數據庫服務,目前的latest版本對應5.0.8版。掛載本地數據目錄、配置目錄、日志目錄,便於數據備份和遷移。

1 創建掛載目錄和文件

在宿主機創建配置目錄~/docker/redis/conf、數據目錄~/docker/redis/data和日志目錄~/docker/redis/log,並在配置目錄中創建文件~/docker/redis/conf/redis.conf,配置文件內容如下。

logfile /log/redis.log

最終目錄結構如下圖:

在這裡插入圖片描述

在這裡插入圖片描述

2 拉取redis鏡像

使用官方最新版本redis鏡像 ,目前為5.0.8版本。

docker pull redis

3 創建容器並啟動

掛載本地的配置、數據、日志目錄到容器內部。

# --name redis 容器名稱為redis
# -p 6379:6379 綁定本機6379端口到容器的6379端口(redis服務端口)
# -v ~/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf 掛載本地配置文件
# -v ~/docker/redis/log/:/log/ 掛載本地日志目錄
# -v ~/docker/redis/data:/data 掛載數據文件
# -d 後臺運行
# redis-server /usr/local/etc/redis/redis.conf --appendonly yes 使用自定義的配置文件,並啟用磁盤數據持久化
docker run --name redis -p 6379:6379 -v ~/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v ~/docker/redis/log/:/log/ -v ~/docker/redis/data:/data -d  redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

容器啟動後可通過本地的~/docker/redis/log/redis.log,查看redis運行情況。

在這裡插入圖片描述

4 Redis使用

使用本地redis-cli客戶端連接redis,並添加key值v=1,執行幾次操作後,此時~/docker/redis/data目錄下appendonly.aof文件已有相關數據內容。

在這裡插入圖片描述

在這裡插入圖片描述

5 模擬數據遷移效果

如果此時停止redis容器,再啟動一個新的redis容器掛載相同的目錄,則新的容器中的redis已經包含上一個容器中的數據。

docker run --name redis1 -p 6379:6379 -v ~/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v ~/docker/redis/log/:/log/ -v ~/docker/redis/data:/data -d  redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes

在這裡插入圖片描述

如需更多自定義配置,可在本地~/docker/redis/conf/redis.conf文件中添加

參考 官方redis鏡像

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: