国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當前位置:首頁 > 科技  > 軟件

Docker數據持久化與數據共享

來源: 責編: 時間:2023-08-20 23:16:23 399觀看
導讀上篇文章的最后我們使用Docker部署了一個純前端項目,但還有一個很重要的問題就是容器中產生的數據(比如log文件),容器一旦被刪除,容器內的所有數據也就沒有了,為了避免這個問題我們可以將數據存儲到容器之外(比如宿主機),

上篇文章的最后我們使用Docker部署了一個純前端項目,但還有一個很重要的問題就是容器中產生的數據(比如log文件),容器一旦被刪除,容器內的所有數據也就沒有了,為了避免這個問題我們可以將數據存儲到容器之外(比如宿主機),這樣即使刪除容器也不會丟失數據。一旦容器故障,我們可以重新創建一個容器,將數據掛載到容器里,就可以快速恢復。N6i28資訊網——每日最新資訊28at.com

數據存儲方式

Docker提供了以下幾種存儲方式:N6i28資訊網——每日最新資訊28at.com

  • 「volume卷」:這種方式是在宿主機文件系統分配一塊專有存儲區域,由 Docker管理,并且與主機的核心功能隔離。非 Docker 進程不能修改文件系統的這一部分。「卷是在 Docker 中持久保存數據的最佳方式」,它適合存儲數據庫數據,可掛到多個容器上
  • 「bind mount 綁定掛載」:這種方式是直接把宿主機目錄映射到容器內,適合掛代碼目錄和配置文件,可掛到多個容器上
  • 「tmpfs mount臨時掛載」:這種方式僅存儲在主機系統的內存中,并且永遠不會寫入主機系統的文件系統,適合存儲臨時文件,不可多容器共享

N6i28資訊網——每日最新資訊28at.com

這張圖很清晰的解釋了volume、bind mount、temps mount與容器和宿主機之間的關系,這三者最終都是存儲在宿主機上的。N6i28資訊網——每日最新資訊28at.com

重點了解volume數據卷:(其實綁定掛載也可以當成volume來理解)N6i28資訊網——每日最新資訊28at.com

  • 數據卷其實是宿主機上的一個目錄
  • 當容器目錄與數據卷目錄綁定之后,雙方的修改都會立即同步
  • 一個數據卷可以被多個容器掛載
  • 一個容器也可以掛載多個數據卷

「數據卷可以用來做容器數據持久化、外部機器與容器間接通信、容器之間間接通信」N6i28資訊網——每日最新資訊28at.com

數據卷操作

數據卷(Volume)也是常見的 Docker 對象類型的一種,因此它也支持創建、查看、刪除等操作.N6i28資訊網——每日最新資訊28at.com

創建數據卷

使用docker volume create [name]指令來創建一個數據卷N6i28資訊網——每日最新資訊28at.com

docker volume create nanjiu-data

N6i28資訊網——每日最新資訊28at.com

查看所有的數據卷

docker volume ls

N6i28資訊網——每日最新資訊28at.com

查看卷信息

使用docker volume inspect [name]指令來查看對應卷信息N6i28資訊網——每日最新資訊28at.com

docker volume inspect nanjiu-data

N6i28資訊網——每日最新資訊28at.com

從上圖我們可以看到Mountpoint數據卷掛載的地址,需要注意的是「對于非 Linux 系統而言(Windows 、Mac ),該目錄不存在于你的文件系統中,而是存在于 Docker 虛擬機中。」N6i28資訊網——每日最新資訊28at.com

刪除數據卷

使用docker volume rm [name]指令來刪除對應的數據卷N6i28資訊網——每日最新資訊28at.com

docker volume rm nanjiu-data

N6i28資訊網——每日最新資訊28at.com

這里需要注意的是:N6i28資訊網——每日最新資訊28at.com

  • 「數據卷是用來做持久化數據的,它的生命周期獨立于容器,所以Docker不會在容器被刪除后自動刪除數據卷,并且也不存在垃圾回收這樣的機制來處理沒有任何容器引用的 數據卷」
  • 「如果需要在刪除容器的同時移除數據卷,可以在刪除容器的時候使用 docker rm -v 指令」

如果想要清除所有無容器引用的數據卷,可以使用以下指令:N6i28資訊網——每日最新資訊28at.com

docker volume prune

與容器一起使用

數據卷本身是用來為容器做數據持久化的,所以單獨創建一個數據卷的意義并不大。N6i28資訊網——每日最新資訊28at.com

創建容器與數據卷

命名數據卷

可以使用docker run指定-v或-mount來創建數據卷,兩者產生的結果相同,最大的區別在于-v語法將所有選項組合在一個字段中,而--mount 語法則將它們分開。N6i28資訊網——每日最新資訊28at.com

docker run -itd -v nanjiu-vol:/nanjiu-data --name nanjiu nginx:latest

這里通過-v指定了數據卷的名稱為nanjiu-vol,并且對應綁定容器中的路徑為/nanjiu-data對于容器中不存在的文件夾,Docker會幫我們自動新建,所以我們可以進入到容器中查看是否有該文件夾N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

這里我們可以看到容器中對應的數據卷目錄N6i28資訊網——每日最新資訊28at.com

匿名數據卷

這里還有一種類型叫做匿名數據卷,他的創建方式只需要省略數據卷名稱就可以,然后Docker會為它生成一長串的hash值作為數據卷的名稱N6i28資訊網——每日最新資訊28at.com

docker run -itd -v /nanjiu-noname --name nanjiu-noname nginx:latest

N6i28資訊網——每日最新資訊28at.com

驗證數據持久化

我們先在這個數據卷目錄新建一個文件,再把當前容器刪除N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

然后我們再重新創建一個容器并綁定上面那個數據卷,如果數據卷中的內容還存在,那就能夠證明數據是持久化存儲的,不會隨著容器的刪除而刪除N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

「從這里我們就能夠驗證數據卷可以用來做持久化存儲了」N6i28資訊網——每日最新資訊28at.com

綁定掛載

上面我們提到過它可以當成數據卷來理解,因為它在使用過程中幾乎與數據卷類似,不同的地方是它其實是與宿主機的文件系統進行綁定N6i28資訊網——每日最新資訊28at.com

docker run -itd -v ~/Desktop/nanjiu-mount-data:/nanjiu-mount-data --name nanjiu nginx:latest

這里-v的格式為 :,對應綁定的是宿主機目錄與容器目錄N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

然后可以到桌面看對應的文件是否存在N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

「綁定掛載可以讓宿主機與容器共享數據,并且同樣不會隨容器的刪除而刪除,也可以用來實現數據持久化,上面有提到他適合用來掛載代碼目錄和配置文件」N6i28資訊網——每日最新資訊28at.com

數據共享

容器與宿主機共享數據

綁定掛載

這個很好理解,上面那種bind mount綁定掛載方式就是最明確的,它是直接將宿主機上的目錄掛載到容器。N6i28資訊網——每日最新資訊28at.com

docker cp

volume數據卷的方式想要實現容器與宿主機共享數據稍微有點麻煩,因為「這種方式是在宿主機文件系統分配一塊專有存儲區域,由 Docker管理,并且與主機的核心功能隔離。非 Docker 進程不能修改文件系統的這一部分」N6i28資訊網——每日最新資訊28at.com

但好在docker提供的docker cp命令可以用來拷貝文件,該docker cp命令可以將內容從SRC_PATH復制到DEST_PATH. 您可以從容器的文件系統復制到本地計算機,或者相反,從本地文件系統復制到容器。N6i28資訊網——每日最新資訊28at.com

docker cp 88eecfd2dd14:/nanjiu-data ~/Desktop/cpDir

N6i28資訊網——每日最新資訊28at.com

然后查看本地桌面是否有了拷貝過來的內容N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

通過這種方式也能實現宿主機與容器之間的數據共享,但它的缺點在于每次都需要手動操作,數據共享比較麻煩。N6i28資訊網——每日最新資訊28at.com

容器與容器之間共享數據

綁定掛載

這里第一種方式仍然是可以使用bind mount綁定掛載,因為同一個文件可以掛載到多個容器,這樣就可以借助宿主機中轉來實現容器之間的數據共享了,這種方式比較簡單易懂。N6i28資訊網——每日最新資訊28at.com

數據卷容器

數據卷容器是一個專門為其它容器提供卷的容器,它提供的卷可以是bind mount,也可以是docker volume「數據卷容器在為其它容器提供卷功能時可以不需要處于運行狀態」N6i28資訊網——每日最新資訊28at.com

這里創建了兩種類型的volume,同時掛載在nanjiu-vc這個數據卷容器上,這個容器可以不啟動N6i28資訊網——每日最新資訊28at.com

docker create --name nanjiu-vc / > -v ~/Desktop/nanjiu-vc:/nanjiu-vc /> -v nanjiu-vc:/nanjiu-vc2 /> nginx:latest

N6i28資訊網——每日最新資訊28at.com

其他容器可以通過--volumes-from使用nannie-vc這個數據卷容器N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

這里建了兩個容器都使用nanjiu-vc這個數據卷容器N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

這樣兩個容器就通過數據卷容器實現了數據共享。N6i28資訊網——每日最新資訊28at.com

「這種方式的優點在于:」N6i28資訊網——每日最新資訊28at.com

與bind mount相比,不必為每一個容器指定宿主機path,所有path都在volume container中定義好了,容器只需與volume container關聯,實現了容器與host的解耦。N6i28資訊網——每日最新資訊28at.com

使用volume container的容器,其mount point是一致的,有利于配置的規范和標準化,但也帶來一定的局限,使用時需要綜合考慮。N6i28資訊網——每日最新資訊28at.com

改造之前的log存儲方式

之前的那種部署方式存在一個問題,如果容器出現故障被銷毀,那么容器內產生的log文件也就沒有了,現在我們可以把它改造成將nginx產生的log文件使用數據卷存儲,當容器出現故障,我們只需要重新創建一個容器并掛載數據就可以快速恢復log文件排查問題N6i28資訊網——每日最新資訊28at.com

修改Dockerfile

# 指定node鏡像FROM node:16-alpine as builder# 指定工作目錄WORKDIR /code# 代碼復制到工作目錄ADD . /code# 安裝依賴RUN npm install --registry=https://registry.npm.taobao.org# 打包RUN npm run build# 指定nginx鏡像FROM nginx:alpine# 創建nginx日志目錄數據卷VOLUME ["/var/log/nginx"]# 復制打包后的代碼到nginx容器中COPY --from=builder /code/dist /usr/share/nginx/htmlCOPY /nginx.conf /etc/nginx/nginx.conf# 暴露端口EXPOSE 8080

重新打包鏡像

docker build -t nanjiu:1.0.1 .

N6i28資訊網——每日最新資訊28at.com

創建容器

基于上面nanjiu:1.0.1鏡像創建一個容器nanjiu-web3docker run -d -p 9099:8080 --name nanjiu-web3 nanjiu:1.0.1N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

訪問頁面

這里主要是為了產生nginx日志文件N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

將容器刪除

docker stop 4355deda547f # 停止容器docker rm 4355deda547f # 刪除容器

容器雖然被刪除了,但數據卷并不會跟隨容器的刪除而刪除N6i28資訊網——每日最新資訊28at.com

N6i28資訊網——每日最新資訊28at.com

新建容器綁定數據卷查看數據

docker run -d /-v 3690f4f3b2d15466a9dfa7f692cba06add99daba3f76b8e7ffdc99b1c5937a8a:/nginx-data /--name nanjiu-web4 nginx:latest

N6i28資訊網——每日最新資訊28at.com

這樣一來即使容器出現故障被刪除,也不影響查看log文件排查問題。N6i28資訊網——每日最新資訊28at.com

本文鏈接:http://www.rrqrq.com/showinfo-26-6150-0.htmlDocker數據持久化與數據共享

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 如何為游戲開發優化3D模型?

下一篇: 使用Redis分布式鎖可能會出現哪些問題?

標簽:
  • 熱門焦點
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
欧美中文字幕一区二区三区亚洲| 成人午夜在线播放| 日韩精品电影一区亚洲| 在线观看日韩av电影| 精品蜜桃在线看| 岛国精品在线观看| 欧美一区二区视频网站| 国产一区二区精品久久91| 欧美日韩一区在线| 久久国产尿小便嘘嘘| 欧美性视频一区二区三区| 日本不卡不码高清免费观看| 色综合久久66| 日韩精品三区四区| 色成年激情久久综合| 秋霞成人午夜伦在线观看| 91九色02白丝porn| 麻豆精品在线播放| 91国偷自产一区二区开放时间| 午夜精品久久久久久不卡8050| 99热免费精品| 亚洲精品第1页| 一本久久知道综合久久| 亚洲黄色免费网站| 亚洲在线一区| 日韩福利视频导航| 欧美视频一区在线| 国产一区欧美二区| 日韩欧美的一区二区| av在线免费不卡| 国产女人18毛片水真多成人如厕| 合欧美一区二区三区| 最新不卡av在线| 国产伦精品一区二区三区视频黑人 | 亚洲成人一区在线| 久久久久久久久久久一区 | 欧美色图激情小说| 国产一区二区三区蝌蚪| 91精品国产色综合久久不卡电影| 福利电影一区二区三区| 久久亚洲综合av| 在线精品亚洲一区二区| 亚洲第一狼人社区| 色8久久人人97超碰香蕉987| 国产在线播放一区二区三区| 欧美成人三级在线| 黄色av一区| 亚洲成人自拍网| 欧美日韩一区在线| 9人人澡人人爽人人精品| 国产精品久久久久久久久快鸭| 国产精品美女诱惑| 蜜桃精品视频在线观看| 欧美精品久久一区| 91亚洲精品久久久蜜桃| 亚洲欧美成人一区二区三区| 亚洲一区二区四区| 国产一区二区影院| 久久精品亚洲麻豆av一区二区| 亚洲大胆视频| 日韩成人精品在线观看| 日韩欧美精品在线| 一色屋精品视频在线看| 日本网站在线观看一区二区三区| 欧美一级视频精品观看| 97精品国产露脸对白| 中文字幕一区二区三区乱码在线 | 欧美性猛交xxxx黑人交| 成人晚上爱看视频| 亚洲激情图片qvod| 欧美三级乱人伦电影| 99久久久无码国产精品| 一区二区久久久| 91精品一区二区三区久久久久久 | 国产成人av自拍| 国产精品久久毛片av大全日韩| 另类国产ts人妖高潮视频| 狠狠狠色丁香婷婷综合久久五月| 久久久亚洲午夜电影| 亚洲综合另类| 高清成人免费视频| 亚洲人成网站精品片在线观看| 在线观看日韩精品| 91影院在线免费观看| 亚洲午夜精品一区二区三区他趣| 欧美日韩国产高清一区二区| 欧美福利精品| 男男成人高潮片免费网站| 精品国产1区二区| 亚洲欧美日本日韩| 成人高清视频免费观看| 一区二区三区不卡视频| 欧美精品自拍偷拍动漫精品| 尤物精品在线| 国产自产高清不卡| 亚洲欧美国产毛片在线| 日韩一区二区精品| 午夜亚洲伦理| 99re这里只有精品首页| 五月天亚洲精品| 国产情人综合久久777777| 日本韩国欧美一区| 国产一区日韩一区| 国产一区二区视频在线播放| 亚洲欧洲日韩综合一区二区| 欧美电影影音先锋| 国产伦精品一区二区三区高清版| 成人黄色免费短视频| 亚洲一区二区在线播放相泽 | 欧美三级特黄| 久久99精品久久久久婷婷| 中文字幕精品一区二区精品绿巨人| 色噜噜狠狠成人网p站| 精品动漫3d一区二区三区免费| 国产成+人+日韩+欧美+亚洲| 亚洲一区二区三区四区在线免费观看| xfplay精品久久| 欧美日韩另类一区| 国产日韩欧美三级| 91浏览器入口在线观看| 蜜臀精品一区二区三区在线观看| 中文字幕一区二区日韩精品绯色| 欧美一区二区三区性视频| 美日韩免费视频| 欧美三区美女| 国产a级毛片一区| 午夜欧美大尺度福利影院在线看| 欧美国产禁国产网站cc| 日韩三级免费观看| 欧美中文字幕亚洲一区二区va在线 | 国产精品99久| 午夜精品一区二区三区三上悠亚| 国产精品视频观看| 精品入口麻豆88视频| 欧美日韩在线精品一区二区三区激情 | 国产成人三级在线观看| 日韩国产成人精品| 夜夜揉揉日日人人青青一国产精品| 欧美韩国日本综合| 亚洲精品一区在线观看| 7777精品伊人久久久大香线蕉完整版 | 亚洲视频精品| av亚洲产国偷v产偷v自拍| 国产自产v一区二区三区c| 亚洲成av人在线观看| 综合在线观看色| 中文字幕高清一区| 国产午夜亚洲精品理论片色戒| 日韩美女在线视频| 欧美日韩国产成人在线91| 久久伊人亚洲| 亚洲免费一区二区| 国产欧美日韩一级| 亚洲电影成人| 狠狠色综合网| 欧美午夜在线| 欧美激情自拍| 91小视频免费看| av电影在线不卡| 成人av网站在线观看免费| 国产精品99久久久久| 国产一区二区三区四区五区美女 | 精品国产三级电影在线观看| 欧美精品三级在线观看| 色综合久久久久综合体| 久久久亚洲人| 久久久久国产一区二区| 美女诱惑黄网站一区| 国产一区二区三区久久| 一本色道久久综合亚洲精品不| 亚洲第一在线| 亚洲乱码视频| 国产欧美大片| 亚洲欧美日韩视频二区| 亚洲欧美大片| 免费久久久一本精品久久区| 久久大逼视频| 巨乳诱惑日韩免费av| 香蕉久久夜色精品国产| 美日韩在线观看| 色婷婷综合久久久久中文一区二区| 久久婷婷av| 欧美影院一区二区| 欧美精品三级日韩久久| 日韩一卡二卡三卡四卡| 精品日韩成人av| 久久久www成人免费无遮挡大片| 亚洲精品一区二区三区福利| 久久久久成人黄色影片| 国产精品美女久久久久高潮| 中文字幕在线一区| 亚洲精品中文字幕乱码三区| 亚洲午夜日本在线观看| 日本不卡一二三区黄网| 国产一区中文字幕| 成人性生交大片免费| 欧美1区3d| 亚洲高清二区| 亚洲女人av| 欧美色电影在线|