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

Docker數(shù)據(jù)卷和掛載目錄的使用

 更新時(shí)間:2024年04月14日 15:44:43   作者:暴躁小段額  
docker?在容器中管理數(shù)據(jù)主要有兩種方式,包括數(shù)據(jù)卷和掛載主機(jī)目錄,本文主要介紹了Docker數(shù)據(jù)卷和掛載目錄的使用,具有一定的參考價(jià)值,感興趣的可以了解一下

docker 在容器中管理數(shù)據(jù)主要有兩種方式:

- 數(shù)據(jù)卷( Volumes )

- 掛載主機(jī)目錄( Bind mounts )

準(zhǔn)備

刪除容器

docker rm -f $(docker ps -aq)

 創(chuàng)建并運(yùn)行一個(gè)容器

方法一
docker run -itd \
--name t1 \
-p 8080:8080 \
--mount source=v1,target=/usr/local/tomcat/webapps \
tomcat:8.5.20
方法二
docker start c1
docker exec -it c1 bash

數(shù)據(jù)卷(Volumes)

掛載和數(shù)據(jù)卷的區(qū)別:數(shù)據(jù)卷和替換整個(gè)目錄而掛載只會替換一個(gè)文件夾或者一個(gè)文件,所以掛載的使用性更高;數(shù)據(jù)卷替換所有文件后可能導(dǎo)致tomcat 或者 mysql無法使用 因?yàn)榕渲梦募蝗刻鎿Q

為了很好的實(shí)現(xiàn)數(shù)據(jù)保存和數(shù)據(jù)共享, Docker 提出了 Volume 這個(gè)概念,簡單的說就是繞過默認(rèn)的聯(lián)合

文件系統(tǒng),而以正常的文件或者目錄的形式存在于宿主機(jī)上。又被稱作數(shù)據(jù)卷。

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

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

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

docker volume create v1

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

docker volume ls

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

docker volume inspect v1

刪除一個(gè) volume

docker volume rm v1

數(shù)據(jù)卷 是被設(shè)計(jì)用來持久化數(shù)據(jù)的,它的生命周期獨(dú)立于容器, Docker 不會在容器被刪除后自動

刪除數(shù)據(jù)卷,并且也不存在垃圾回收這樣的機(jī)制來處理沒有任何容器引用的數(shù)據(jù)卷,無主的數(shù)據(jù)卷

可能會占據(jù)很多空間,所以要及時(shí)刪除 .

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

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

run 中可以掛載多個(gè) 數(shù)據(jù)卷 。

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

實(shí)際例子

docker run -it \
--name c1 \
--mount source=v1,target=/testdir \
centos

最好是通過 run 而非 create/start 創(chuàng)建啟動容器, create/start 命令創(chuàng)建啟動容器后,再掛載數(shù)據(jù)卷

相當(dāng)麻煩,要修改很多配置文件,但并非不可以

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

輸入,直到讀到結(jié)束符,如回車

如果數(shù)據(jù)卷不存在,docker會自動創(chuàng)建

如果容器上目錄不存在, docker會自動創(chuàng)建

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

docker inspect name

docker inspect v1

虛擬機(jī)端口映射

通過虛擬機(jī)端口映射可在虛擬機(jī)中運(yùn)行tomcat,在本機(jī)訪問tomcat端口

docker run -itd \
--name t1 \
-p 8080:8080 \
--mount source=v1,target=/usr/local/tomcat/webapps \
tomcat:8.5.20

虛擬機(jī)要開放端口
firewall-cmd --zone=public --add-port=8080/tcp

掛載目錄(Bind mounts)

soft直接將webapps替換了
-v 可以掛載目錄
-v 還可以單獨(dú)掛載文件

掛載目錄

掛載一個(gè)目錄也是文件夾,先創(chuàng)建一個(gè)soft目錄,mkidr soft

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

掛載文件

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

想實(shí)現(xiàn)遠(yuǎn)程登錄到容器內(nèi)部的tomcat
實(shí)現(xiàn)在線部署項(xiàng)目

需要放入tomcat的用戶信息 tomcat-user.xml 文件中
還要允許外部訪問 webapps/manager/META-INF/context.xml

需要提前vi編輯tomcat-users.xml 文件,編輯用戶信息admin;

刪除context.xml 文件中的部分內(nèi)容

部署在線項(xiàng)目

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

注:mysql nginx的配置文件都要通過掛載的形式

二者區(qū)別

數(shù)據(jù)卷掛載適合多個(gè)容器共享數(shù)據(jù),而目錄掛載適合單個(gè)容器與主機(jī)之間進(jìn)行數(shù)據(jù)交換。

(1)注意二者寫法上的區(qū)別,例如在實(shí)例化MySQL容器時(shí)掛載寫法

  • -v mysql:/val/lib/mysql 會識別為一個(gè)數(shù)據(jù)卷叫mysql
  • -v ./mysql:/val/lib/mysql 會識別為當(dāng)前目錄下的mysql目錄

(2)當(dāng)實(shí)例化容器時(shí),應(yīng)查閱官方鏡像文檔,是否需要配置目錄映射

到此這篇關(guān)于Docker數(shù)據(jù)卷和掛載目錄的使用的文章就介紹到這了,更多相關(guān)Docker數(shù)據(jù)卷和掛載目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker容器里面的root權(quán)限獲取方法

    docker容器里面的root權(quán)限獲取方法

    這篇文章主要介紹了docker容器里面的root權(quán)限獲取方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker搭建持續(xù)集成平臺Jenkins的最簡教程分享

    Docker搭建持續(xù)集成平臺Jenkins的最簡教程分享

    Jenkins 是一個(gè)廣泛使用的開源持續(xù)集成工具,它能夠自動化構(gòu)建、測試和部署軟件項(xiàng)目,本文我們將使用 Docker 搭建一個(gè)基于 Jenkins 的持續(xù)集成平臺,感興趣的可以了解下
    2024-03-03
  • Docker 部署 MongoDB容器的方法

    Docker 部署 MongoDB容器的方法

    Docker就可以幫助我們將開發(fā)的應(yīng)用程序,以及該程序的依賴包都打包在一個(gè)文件里,下面通過本文給大家分享Docker 部署 MongoDB的詳細(xì)教程,感興趣的朋友一起看看吧
    2021-06-06
  • 如何使用docker compose 部署ELK 8.X及監(jiān)控

    如何使用docker compose 部署ELK 8.X及監(jiān)控

    這篇文章主要介紹了如何使用docker compose 部署ELK 8.X及監(jiān)控,包括前置環(huán)境配置及docker compose啟動/停止的命令,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 解決docker?pull出現(xiàn)錯(cuò)誤:Error?response?from?daemon

    解決docker?pull出現(xiàn)錯(cuò)誤:Error?response?from?daemon

    這篇文章主要給大家介紹了關(guān)于解決docker?pull出現(xiàn)錯(cuò)誤:Error?response?from?daemon的相關(guān)資料,這個(gè)錯(cuò)誤提示一般是因?yàn)槟銢]有權(quán)限拉取對應(yīng)的鏡像,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 阿里云esc服務(wù)器Docker部署單節(jié)點(diǎn)Mysql的講解

    阿里云esc服務(wù)器Docker部署單節(jié)點(diǎn)Mysql的講解

    今天小編就為大家分享一篇關(guān)于阿里云esc服務(wù)器Docker部署單節(jié)點(diǎn)Mysql的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Docker綁定端口后仍無法遠(yuǎn)程直接訪問的解決方法

    Docker綁定端口后仍無法遠(yuǎn)程直接訪問的解決方法

    在Docker中,如果容器的端口綁定錯(cuò)誤或只綁定到了容器的內(nèi)部IP地址,將導(dǎo)致外部主機(jī)無法訪問該端口,所以本文小編給大家介紹了Docker綁定端口后仍無法遠(yuǎn)程直接訪問的解決方法,需要的朋友可以參考下
    2024-09-09
  • docker start啟動容器后仍然exit狀態(tài)的解決

    docker start啟動容器后仍然exit狀態(tài)的解決

    這篇文章主要介紹了docker start啟動容器后仍然exit狀態(tài)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • docker搭建dnsmasq服務(wù)的實(shí)現(xiàn)

    docker搭建dnsmasq服務(wù)的實(shí)現(xiàn)

    本文將指導(dǎo)讀者如何使用Docker搭建DNSmasq服務(wù),通過簡單的步驟和詳細(xì)的說明,幫助讀者快速在Docker環(huán)境中部署DNSmasq,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 如何使用docker部署前端應(yīng)用的方法步驟

    如何使用docker部署前端應(yīng)用的方法步驟

    這篇文章主要介紹了如何使用docker部署前端應(yīng)用的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論