国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

docker下的 redis 之持久化存儲詳解

瀏覽:173日期:2024-11-10 09:34:08

本章節(jié)開始 我們在docker下 進(jìn)行 spring Boot項(xiàng)目操作redis

準(zhǔn)備工作:

(1) 創(chuàng)建文件夾:usr/local/work/share

(2) 拉取項(xiàng)目,這是一個打包好的jar包

(3) 將拉取的 jar包放到剛剛創(chuàng)建的文件夾下,同時再創(chuàng)建一個名字為 docker-compose.yml的文件

docker下的 redis 之持久化存儲詳解

(4) 在 tmp目錄中創(chuàng)建一個 data 文件夾

(5) 并在 docker-compose.yml文件中寫入以下內(nèi)容:

redis: image: redis:3 ports: - '6379:6379' volumes: - /tmp/data:/data - java: image: bolingcavalry/springbootrun:0.0.1 links: - redis:redishost volumes: - /usr/local/work/share:/usr/Downloads ports: - '8080:8080' tty: true

這里我們只對 volumes 進(jìn)行講解,簡單明了的說就是: docker 中 redis 容器存儲的數(shù)據(jù)進(jìn)行持久化到本地目錄

官方說法:

Redis端口6379已經(jīng)由Redis預(yù)先配置好,從容器中暴露給主機(jī),在docker-compose.yml文件中,將它從主機(jī)暴露給外部,這樣就可以為任何節(jié)點(diǎn)到Redis桌面管理器中,并管理這個Redis實(shí)例。 最重要的是,redis規(guī)范中有幾件事情使數(shù)據(jù)在這個堆棧的部署之間持續(xù)存在:redis總是在管理器上運(yùn)行,所以它總是使用相同的文件系統(tǒng);redis在主機(jī)的文件系統(tǒng)中訪問一個任意目錄作為容器內(nèi)部的/data,這是Redis存儲數(shù)據(jù)的地方。

總之,這是在Redis數(shù)據(jù)的主機(jī)物理文件系統(tǒng)中創(chuàng)建“真實(shí)來源”。如果沒有這個,Redis將把它的數(shù)據(jù)存儲在容器文件系統(tǒng)中的/data中,如果這個容器被重新部署的話,這些數(shù)據(jù)將被清除。 這個真實(shí)來源有兩個組成部分:placement在Redis服務(wù)上的placement約束,確保它始終使用相同的主機(jī);創(chuàng)建的volumes允許容器作為/data(在Redis容器內(nèi))訪問/data(在主機(jī)上),在容器來來去去的時候,存儲在指定主機(jī)上的/data文件將會持續(xù)存在,從而保持連續(xù)性。

二.啟動容器

將上面的內(nèi)容寫到docker-compose.yml之后,在此文件所在目錄執(zhí)行命令docker-compose up -d,即可啟動兩個容器,再執(zhí)行docker ps可以看到容器信息如下:

docker下的 redis 之持久化存儲詳解

jar包下載下來后,放入本機(jī)的/usr/local/work/share目錄,這個目錄和容器的/usr/Downloads是映射關(guān)系,所以我們進(jìn)入容器后可以直接訪問這個文件;

三,部署jar包

執(zhí)行以下命令進(jìn)入運(yùn)行springboot容器:

docker exec -it share_java_1 /bin/bash

進(jìn)入/usr/Downloads目錄,可以看到文件:

redistempletedemo-0.0.1-SNAPSHOT.jar

執(zhí)行以下命令啟動容器:

java -jar redistempletedemo-0.0.1-SNAPSHOT.jar

啟動成功,信息如下:

docker下的 redis 之持久化存儲詳解

本地測試

執(zhí)行

http://localhost:8080/set/name/hxy

docker下的 redis 之持久化存儲詳解

執(zhí)行

http://localhost:8080/get/name

docker下的 redis 之持久化存儲詳解

我們再登上redis容器去檢查一下,執(zhí)行以下命令進(jìn)入redis容器:

docker exec -it share_redis_1 /bin/bash

redis-cli

在控制臺執(zhí)行g(shù)et name即可看到name對應(yīng)的值,如下所示:

docker下的 redis 之持久化存儲詳解

簡單的測試已經(jīng)成功,上面我們也說到只要 redis 的容器關(guān)閉所有的數(shù)據(jù)將全部消失,但是我們在上面的docker-compose.yml中配置了

volumes: - /tmp/data:/data

這就說明剛剛保存的數(shù)據(jù)持久化到了本地 tmp/data目錄下.打開 tmp/data會發(fā)現(xiàn)一個名字叫dump.rdb的文件

用終端打開它輸入命令: vi dump.rdb 就會看到你剛剛保存的數(shù)據(jù)name:hxy

到此 dcoker下redis 的持久化就說到這里,如果有更好的方式請多指教.感謝你看到這里。

相關(guān)項(xiàng)目: https://github.com/haoxiaoyong1014/springboot-examples/tree/master/springboot-redis-docker

補(bǔ)充知識:Docker 下安裝 Redis 啟動并設(shè)置密碼、開啟持久化

拉取鏡像

docker pull redis:5.0

啟動并設(shè)置密碼、開啟持久化

docker run -d --name redis-server -p 6379:6379 redis:5.0 --requirepass 'mypassword' --appendonly yes

以上這篇docker下的 redis 之持久化存儲詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Docker
相關(guān)文章:
主站蜘蛛池模板: 亚洲一区二区三区四区在线观看 | 国产精品福利视频萌白酱 | 国产精品久久在线观看 | 久久综合久美利坚合众国 | 国产成人91高清精品免费 | 午夜亚洲精品 | 天天干亚洲 | 精品一区二区三区四区在线 | 国产精品久久久一区二区三区 | 久久久高清免费视频 | 亚洲欧美一区二区三区在饯 | 欧美性视频xxxxxxxx | 欧美刺激午夜性久久久久久久 | 中文字幕亚洲不卡在线亚瑟 | 国产一区二区三区在线免费观看 | 久久精品国产精品青草不卡 | 国产精品v欧美精品v日本精 | 欧美成人久久 | 美女被免费网站视频软件 | 欧美日韩视频在线 | 欧美午夜精品一区二区三区 | 国产日韩线路一线路二 | 九九香蕉网 | 永久免费不卡在线观看黄网站 | 亚洲国产精品久久久久久网站 | 手机看片福利视频 | 欧美一区亚洲 | 欧美日韩生活片 | 亚洲精品不卡午夜精品 | 中文字幕精品一区二区绿巨人 | 久久精品国产只有精品6 | 欧美一级特黄刺激爽大片 | 成人免费在线视频网 | 手机在线日韩高清理论片 | 精品一区二区三区免费爱 | 欧美成网站 | 91色综合久久 | 国产成人aa在线视频 | 一个人看的www日本高清视频 | 九九99九九在线精品视频 | 在线精品国内外视频 |