Docker案例分析:搭建Redis服務(wù)
使用官方的redis鏡像搭建數(shù)據(jù)庫(kù)服務(wù),目前的latest版本對(duì)應(yīng)5.0.8版。掛載本地?cái)?shù)據(jù)目錄、配置目錄、日志目錄,便于數(shù)據(jù)備份和遷移。
1 創(chuàng)建掛載目錄和文件
在宿主機(jī)創(chuàng)建配置目錄~/docker/redis/conf、數(shù)據(jù)目錄~/docker/redis/data和日志目錄~/docker/redis/log,并在配置目錄中創(chuàng)建文件~/docker/redis/conf/redis.conf,配置文件內(nèi)容如下。
logfile /log/redis.log
最終目錄結(jié)構(gòu)如下圖:
2 拉取redis鏡像
使用官方最新版本redis鏡像 ,目前為5.0.8版本。
docker pull redis
3 創(chuàng)建容器并啟動(dòng)
掛載本地的配置、數(shù)據(jù)、日志目錄到容器內(nèi)部。
# --name redis 容器名稱為redis # -p 6379:6379 綁定本機(jī)6379端口到容器的6379端口(redis服務(wù)端口) # -v ~/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf 掛載本地配置文件 # -v ~/docker/redis/log/:/log/ 掛載本地日志目錄 # -v ~/docker/redis/data:/data 掛載數(shù)據(jù)文件 # -d 后臺(tái)運(yùn)行 # redis-server /usr/local/etc/redis/redis.conf --appendonly yes 使用自定義的配置文件,并啟用磁盤數(shù)據(jù)持久化 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
容器啟動(dòng)后可通過(guò)本地的~/docker/redis/log/redis.log,查看redis運(yùn)行情況。
4 Redis使用
使用本地redis-cli客戶端連接redis,并添加key值v=1,執(zhí)行幾次操作后,此時(shí)~/docker/redis/data目錄下appendonly.aof文件已有相關(guān)數(shù)據(jù)內(nèi)容。
5 模擬數(shù)據(jù)遷移效果
如果此時(shí)停止redis容器,再啟動(dòng)一個(gè)新的redis容器掛載相同的目錄,則新的容器中的redis已經(jīng)包含上一個(gè)容器中的數(shù)據(jù)。
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鏡像
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持本站。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。