国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用

這篇具有很好參考價值的文章主要介紹了【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

????歡迎來到我的CSDN主頁!????

??我是Java方文山,一個在CSDN分享筆記的博主。????

??推薦給大家我的專欄《Docker實戰(zhàn)》。????

??點擊這里,就可以查看我的主頁啦!????

Java方文山的個人主頁

??如果感覺還不錯的話請給我點贊吧!????

??期待你的加入,一起學(xué)習(xí),一起進步!????

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

目錄

?前言

一、數(shù)據(jù)卷掛載

1.數(shù)據(jù)卷是什么

2.數(shù)據(jù)卷的基本使用

創(chuàng)建數(shù)據(jù)卷

查看所有數(shù)據(jù)卷

查看數(shù)據(jù)卷信息

?刪除一個volume

掛載數(shù)據(jù)卷

查看是否掛載成功

二、宿主機目錄掛載

1.什么是目錄掛載

2.目錄掛載的基本使用

掛載目錄

三、案例(實現(xiàn)Tomcat在線部署)


?

?前言

假設(shè)我們有一個容器化的機器學(xué)習(xí)模型訓(xùn)練應(yīng)用程序。該應(yīng)用程序需要大量的訓(xùn)練數(shù)據(jù)來進行模型的訓(xùn)練,而這些訓(xùn)練數(shù)據(jù)可能會占據(jù)大量的存儲空間。如果我們將訓(xùn)練數(shù)據(jù)直接放在容器內(nèi)部,會導(dǎo)致容器的鏡像體積增大,每次創(chuàng)建或啟動容器都需要復(fù)制整個數(shù)據(jù)集,這將消耗大量的時間和存儲資源,而且容器被刪除了不可逆,那么就會導(dǎo)致數(shù)據(jù)丟失非常的不方便。

當(dāng)使用數(shù)據(jù)卷掛載和宿主機目錄掛載時:

  1. 數(shù)據(jù)庫存儲:在容器化的應(yīng)用程序中,數(shù)據(jù)庫通常需要持久化存儲數(shù)據(jù)。通過將數(shù)據(jù)庫的數(shù)據(jù)卷掛載到容器中,可以確保數(shù)據(jù)在容器重啟或更新時不會丟失。這樣,即使容器被銷毀,數(shù)據(jù)仍然可以在其他容器中使用。數(shù)據(jù)卷掛載還可以用于容器之間共享數(shù)據(jù)庫的備份文件。

  2. Web服務(wù)器日志:對于運行在容器中的Web服務(wù)器,日志文件是非常重要的記錄和分析工具。通過將宿主機上的日志目錄掛載到容器中,可以實時記錄容器內(nèi)的日志,并將其保存到宿主機上。這樣,在容器重啟或刪除后,日志仍然可以在宿主機上進行查看和分析。

  3. 文件共享:如果有多個容器需要訪問相同的文件(例如配置文件、證書文件等),可以將這些文件放置在宿主機上的一個目錄中,并將該目錄通過宿主機目錄掛載到各個容器中。這樣,所有容器都可以共享和訪問這些文件,而不需要在每個容器中復(fù)制一份。

  4. 靜態(tài)資源存儲:對于網(wǎng)站或應(yīng)用程序中的靜態(tài)資源(如圖片、CSS和JavaScript文件),可以將這些資源放置在宿主機上的一個目錄中,并通過宿主機目錄掛載到運行Web服務(wù)器的容器中。這樣,容器就可以直接從宿主機上加載和提供靜態(tài)資源,而不需要將資源復(fù)制到每個容器中。

一、數(shù)據(jù)卷掛載

1.數(shù)據(jù)卷是什么

數(shù)據(jù)卷是一個虛擬目錄,它將宿主機目錄映射到容器內(nèi)目錄,方便我們操作容器內(nèi)文件,或者方便遷移容器產(chǎn)生的數(shù)據(jù)。

為了很好的實現(xiàn)數(shù)據(jù)保存和數(shù)據(jù)共享,Docker提出了Volume這個概念,簡單的說就是繞過默認的聯(lián)合文件系統(tǒng),而以正常的文件或者目錄的形式存在于宿主機上。又被稱作數(shù)據(jù)卷。

數(shù)據(jù)卷 是一個可供一個或多個容器使用的特殊目錄,它繞過 UFS可以提供很多有用的特性:

  • 數(shù)據(jù)卷 可以在容器之間共享和重用
  • 對數(shù)據(jù)卷的修改會立馬生效
  • 對數(shù)據(jù)卷的更新,不會影響鏡像
  • 數(shù)據(jù)卷默認會一直存在,即使容器被刪除

2.數(shù)據(jù)卷的基本使用

創(chuàng)建數(shù)據(jù)卷
docker volume create 數(shù)據(jù)卷名稱

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

查看所有數(shù)據(jù)卷
docker volume ls

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維??

查看數(shù)據(jù)卷信息
docker volume inspect my-vol

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維?

?刪除一個volume
docker volume rm my-vol

數(shù)據(jù)卷 是被設(shè)計用來持久化數(shù)據(jù)的,它的生命周期獨立于容器,Docker不會在容器被刪除后自動 刪除數(shù)據(jù)卷,并且也不存在垃圾回收這樣的機制來處理沒有任何容器引用的數(shù)據(jù)卷,無主的數(shù)據(jù)卷 可能會占據(jù)很多空間,所以要及時刪除.

掛載數(shù)據(jù)卷

在用 docker run 命令的時候,使用 --mount 標(biāo)記來將 數(shù)據(jù)卷 掛載到容器里。在一次 docker run 中可以掛載多個 數(shù)據(jù)卷 。

docker run -itd \
--name 容器名字 \
--mount source=數(shù)據(jù)卷名稱,target=容器中的對應(yīng)目錄 \
鏡像名稱

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

最好是通過run而非create/start創(chuàng)建啟動容器,create/start命令創(chuàng)建啟動容器后,再掛載數(shù)據(jù)卷 相當(dāng)麻煩,要修改很多配置文件,但并非不可以。

加了“\”意為將最后的回車換行給注釋了,系統(tǒng)理解為命令還沒有結(jié)束,因而是繼續(xù)等待用戶進行 輸入,直到讀到結(jié)束符,如回車

  • 如果數(shù)據(jù)卷不存在,docker會自動創(chuàng)建
  • 如果容器上目錄不存在, docker會自動創(chuàng)建

注意:-it掛載后會直接進入容器,-itd則是在掛載不進入

查看是否掛載成功

首先查看我們數(shù)據(jù)卷的目錄位置

docker inspect name

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

該目錄就是數(shù)據(jù)卷的目錄,我們現(xiàn)在進入該目錄新建一個文本

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

然后我們進入容器查看是否有該文件,如果有文件說明掛載成功實現(xiàn)共享

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

二、宿主機目錄掛載

1.什么是目錄掛載

錄掛載是將主機上的一個目錄直接掛載到容器中,容器中的文件會直接覆蓋主機上的文件,這種方式不適合多個容器共享數(shù)據(jù)。目錄掛載的好處是可以方便地將主機上的文件或目錄與容器中的文件或目錄進行同步,方便開發(fā)和調(diào)試。

2.目錄掛載的基本使用

首先我們在宿主機上創(chuàng)建一個目錄用于存放資源

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

將提前準(zhǔn)備好的war放入該目錄中

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

掛載目錄
docker run -itd \
--name 容器名字 \
--mount type=bind,source=宿主機目錄,target=容器中的對應(yīng)目錄 \
鏡像名稱

或者使用簡化版本

docker run -itd \
--name t1 \
-v /soft:/user/local/tomcat/webapps \
-p 8080:8080 \
tomcat:8.5.40

解釋該命令的各個部分如下:

  • docker run: 運行一個新的容器。
  • -itd: 這是三個選項的組合:
    • -i:保持標(biāo)準(zhǔn)輸入 (stdin) 打開,即使未附加也可以與容器進行交互。
    • -t:為容器分配一個偽終端 (pseudo-TTY)。
    • -d:將容器設(shè)為后臺運行模式。
  • --name t1:為容器指定一個名稱為 "t1",以便于管理和引用它。
  • -v /soft:/user/local/tomcat/webapps:將本地宿主機上的目錄?/soft?掛載到容器內(nèi)的?/user/local/tomcat/webapps?目錄。這意味著容器中的 Tomcat 應(yīng)用程序?qū)⒛軌蛟L問并使用位于?/soft?目錄下的文件。
  • -p 8080:8080:將容器內(nèi)的端口 8080 映射到宿主機的端口 8080。這樣,當(dāng)在宿主機上訪問?http://localhost:8080?時,實際上是訪問容器內(nèi)運行的 Tomcat 服務(wù)器。
  • tomcat:8.5.40:使用 tomcat:8.5.40 鏡像啟動容器。?

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維?但是這么使用有一個弊端,它是將整個文件夾進行替換我們想要的效果是單個文件進行替換

docker run -itd \
--name t1 \
-v /soft/oapro.war:/user/local/tomcat/webapps/oapro.war \
-p 8080:8080 \
tomcat:8.5.40

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

?這樣就可以精準(zhǔn)替換我們想要的文件并且不應(yīng)該原文件了

三、案例(實現(xiàn)Tomcat在線部署)

實現(xiàn) Tomcat 在線部署是指在 Tomcat 運行的過程中,通過上傳 WAR 文件或目錄來動態(tài)地添加、刪除或更新 Web 應(yīng)用程序。這種方式可以避免每次更改應(yīng)用程序時都要重新啟動 Tomcat 的麻煩,并大大提高了開發(fā)和調(diào)試的效率。

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

但是直接點擊就會報錯,原因是因為我們沒有用戶信息

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維?

?所以我們現(xiàn)在結(jié)合上面的內(nèi)容進行目錄掛載,首先我們需要

修改E:\apache-tomcat-8.5.40\webapps\manager\META-INF\context.xml

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

修改E:\apache-tomcat-8.5.40\conf\tomcat-users.xml

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

將就該完成的文件復(fù)制到liunx目錄中

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維

將我們docker中的tomcat文件進行替換

docker run -itd \
--name t1 \
-v /soft/tomcat-users.xml:/user/local/tomcat/conf/tomcat-users.xml \
-v /soft/context.xml:/user/local/tomcat/webapps/manager/META-INF/context.xml \
-p 8080:8080 \
tomcat:8.5.40

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維?

到這里我的分享就結(jié)束了,歡迎到評論區(qū)探討交流!!

??如果覺得有用的話還請點個贊吧 ??

【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用,Docker實戰(zhàn),docker,容器,運維文章來源地址http://www.zghlxwxcb.cn/news/detail-792379.html

到了這里,關(guān)于【Docker】數(shù)據(jù)卷掛載以及宿主機目錄掛載的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • docker搭建nginx并且掛載宿主機目錄

    1、安裝docker,這里就不贅述了 2、查看nginx版本 3、設(shè)置nginx對外的掛載目錄 4、拷貝一份nginx.conf文件到/root/docker/nginx/conf/目錄下 5、拉取相應(yīng)的docker鏡像 6、搭建nginx服務(wù)器 7、搭建完成之后查看容器的運行狀態(tài) 8、至此,nginx就搭建完成了!!

    2024年02月11日
    瀏覽(24)
  • docker簡介以及docker安裝redis、mysql并實現(xiàn)數(shù)據(jù)掛載宿主機

    docker簡介以及docker安裝redis、mysql并實現(xiàn)數(shù)據(jù)掛載宿主機

    1、簡介 官網(wǎng) docker官網(wǎng):http://www.docker.com 倉庫 Docker Hub官網(wǎng): https://hub.docker.com/ 2、前提 2.1 前提條件: Docker必須部署在Linux內(nèi)核的系統(tǒng)上 目前,CentOS 僅發(fā)行版本中的內(nèi)核支持 Docker。Docker 運行在CentOS 7 (64-bit)上, 要求系統(tǒng)為64位、Linux系統(tǒng)內(nèi)核版本為 3.8以上 2.2查看自己的內(nèi)核

    2024年02月04日
    瀏覽(23)
  • 當(dāng)docker中容器運行時,如何將目錄和宿主機進行掛載

    容器已運行,但還想掛載文件 容器已經(jīng)運行起來了,突然想給容器的目錄進行掛載,通常是在運行容器時加上 -v? 命令 進行掛載。運行起來的容器想掛載文件夾可以通過修改容器在宿主機的配置文件進行解決。 在配置文件中加入新的掛載 1.查看容器存放目錄 2.進入該目錄

    2024年01月25日
    瀏覽(20)
  • k8s 目錄和文件掛載到宿主機

    k8s 目錄和文件掛載到宿主機

    k8s生產(chǎn)中常用的volumes掛載方式有:hostPath、pv,pvc、nfs 1.hostPath掛載 ? ? ?hostPath是將主機節(jié)點文件系統(tǒng)上的文件或目錄掛載到Pod 中,同時pod中的目錄或者文件也會實時存在宿主機上,如果pod刪除,hostpath中的文件不會被刪除。( 生成的pod只能在同一個節(jié)點上 ,調(diào)度到其他節(jié)

    2024年01月19日
    瀏覽(21)
  • Docker之宿主機與容器之間的文件復(fù)制與掛載

    Docker之宿主機與容器之間的文件復(fù)制與掛載

    宿主機與容器之間的文件掛載與復(fù)制 1、從宿主機復(fù)制到容器命令格式為: ? ? ? docker cp 宿主機的本地地址 容器名/容器ID:容器路徑 ?先在宿主機里面創(chuàng)建一個666.txt的文件,然后docker cp 命令把文件復(fù)制到容器中。 2、從容器復(fù)制到宿主機命令格式: ? ? ?docker cp 容器名字

    2024年02月13日
    瀏覽(24)
  • 解決docker通過volumes掛載文件,宿主機修改后容器內(nèi)不同步,重啟服務(wù)才能同步

    將文件的權(quán)限改為777,即 chmod 777 filename 。 詳細解釋在該文章: https://huaweicloud.csdn.net/633114e5d3efff3090b51a5a.html 說明: 這是由于linux系統(tǒng)文件掛載機制導(dǎo)致的。 docker通過volumes掛載文件到容器中,有以下兩種方式: 1、掛載目錄 2、掛載具體文件:并不是掛載了某個文件的路徑,

    2024年03月10日
    瀏覽(30)
  • Docker Desktop使用宿主機Windows的配置文件持久化存儲數(shù)據(jù)

    Docker Desktop使用宿主機Windows的配置文件持久化存儲數(shù)據(jù)

    《微軟官網(wǎng)Windows 上的 Docker 引擎幫助文檔》 以Nginx為例 把Nginx的配置文件復(fù)制到Windows 注意:Windows的盤符是小寫的,以及目錄直接是用反斜杠的?。ㄎ业暨@坑里好久!?。。?修改宿主機的nginx.conf配置文件 刪除nginx容器 重啟啟動一個新的Nginx容器 訪問localhost

    2024年02月09日
    瀏覽(23)
  • docker使用宿主機代理

    我是在ubuntu虛擬機里面裝的docker,嘗試過docker里面裝clash,但是失敗了。使用上面的方法,docker容器內(nèi)可以ping通github.com。ALL_PROXY里面的端口號因人而異。 docker 容器內(nèi)使用宿主機的代理配置 | Zach Ke\\\'s Notes (kebingzao.com)

    2024年02月16日
    瀏覽(31)
  • Jenkins容器使用宿主機Docker

    構(gòu)建鏡像和發(fā)布鏡像到harbor都需要使用到docker命令。而在Jenkins容器內(nèi)部安裝Docker官方推薦直接采用宿主機帶的Docker即可。 設(shè)置Jenkins容器使用宿主機Docker 設(shè)置宿主機docker.sock權(quán)限: 添加數(shù)據(jù)卷

    2024年01月18日
    瀏覽(25)
  • Jenkins(Docker版)中使用宿主機的Docker

    Jenkins(Docker版)中使用宿主機的Docker

    (1)宿主機安裝好了Docker。 (2)宿主機拉取Jenkins的最新鏡像。 使用Jenkins將打包好的鏡像推送到遠程鏡像倉庫時,運行docker login命令的時候,控制臺報錯:docker command not found。 Jenkins容器內(nèi)部并沒有安裝Docker,但是我不想在內(nèi)部再安裝一個Docker,而是想直接使用使用宿主機

    2024年02月12日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包