欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年11月26日 17:27:56   作者:haoxiaoyong1014  
這篇文章主要介紹了docker下的 redis 之持久化存儲詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

本章節(jié)開始 我們在docker下 進行 spring Boot項目操作redis

準(zhǔn)備工作:

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

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

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

(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 進行講解,簡單明了的說就是: docker 中 redis 容器存儲的數(shù)據(jù)進行持久化到本地目錄

官方說法:

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

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

二.啟動容器

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

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

三,部署jar包

執(zhí)行以下命令進入運行springboot容器:

docker exec -it share_java_1 /bin/bash

進入/usr/Downloads目錄,可以看到文件:

redistempletedemo-0.0.1-SNAPSHOT.jar

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

java -jar redistempletedemo-0.0.1-SNAPSHOT.jar

啟動成功,信息如下:

本地測試

執(zhí)行

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

執(zhí)行

http://localhost:8080/get/name

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

docker exec -it share_redis_1 /bin/bash

redis-cli

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

簡單的測試已經(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)項目: https://github.com/haoxiaoyong1014/springboot-examples/tree/master/springboot-redis-docker

補充知識: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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker部署Mysql數(shù)據(jù)庫步驟詳解

    Docker部署Mysql數(shù)據(jù)庫步驟詳解

    Docker是一種流行的容器化平臺,可以簡化應(yīng)用程序的部署和管理,在本博客中,我們將探討如何使用Docker部署兩個廣泛使用的數(shù)據(jù)庫:MySQL,我們將提供詳細的步驟和相應(yīng)的命令,以幫助您輕松地在Docker容器中設(shè)置和運行這個數(shù)據(jù)庫
    2023-07-07
  • 在Docker中如何配置網(wǎng)絡(luò)并訪問互聯(lián)網(wǎng)

    在Docker中如何配置網(wǎng)絡(luò)并訪問互聯(lián)網(wǎng)

    這篇文章主要介紹了在Docker中如何配置網(wǎng)絡(luò)并訪問互聯(lián)網(wǎng)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker搭建并啟動Logstash的實現(xiàn)方式

    Docker搭建并啟動Logstash的實現(xiàn)方式

    這篇文章主要介紹了Docker搭建并啟動Logstash的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • docker部署redis報錯內(nèi)存分配過度解決辦法

    docker部署redis報錯內(nèi)存分配過度解決辦法

    Docker很適合用于測試發(fā)布,將Docker封裝后可以直接提供給測試人員進行運行,不再需要測試人員與運維、開發(fā)進行配合,進行環(huán)境搭建與部署,這篇文章主要給大家介紹了關(guān)于docker部署redis報錯內(nèi)存分配過度的解決辦法,需要的朋友可以參考下
    2023-11-11
  • docker-swarm教程之安全保護加密數(shù)據(jù)的方法詳解

    docker-swarm教程之安全保護加密數(shù)據(jù)的方法詳解

    默認情況下,集群管理器使用的raft 算法的日志在磁盤上加密,這種靜態(tài)加密可保護服務(wù)配置和數(shù)據(jù)免受訪問加密Raft日志的攻擊者的攻擊,因此引入了Docker secret功能,來保證加密文件的安全,本文將給大家詳細的介紹一下如何安全的保護加密數(shù)據(jù)
    2023-08-08
  • 一文教會你用Docker打包Python運行環(huán)境

    一文教會你用Docker打包Python運行環(huán)境

    Docker提供了容器級別的資源隔離,由于Python的外部依賴管理中存在的問題,我們通常會使用virtualenv來對不同的項目創(chuàng)建其唯一的依賴環(huán)境,下面這篇文章主要給大家介紹了如何通過一篇文章教會你用Docker打包Python運行環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • docker發(fā)布sunnyNgrok實現(xiàn)內(nèi)外網(wǎng)穿透的方法(容器內(nèi)執(zhí)行命令)

    docker發(fā)布sunnyNgrok實現(xiàn)內(nèi)外網(wǎng)穿透的方法(容器內(nèi)執(zhí)行命令)

    這篇文章主要介紹了docker上發(fā)布 sunnyNgrok 實現(xiàn)內(nèi)外網(wǎng)穿透,容器內(nèi)執(zhí)行命令,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫的方法

    MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫的方法

    這篇文章主要介紹了MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實現(xiàn)

    Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實現(xiàn)

    這篇文章主要介紹了Docker 部署 Django+Mysql+Redis+Gunicorn+Nginx,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Docker部署前后端分離項目的實現(xiàn)示例

    Docker部署前后端分離項目的實現(xiàn)示例

    本文主要介紹了Docker部署前后端分離項目的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論