docker中容器數(shù)據(jù)卷volume介紹
docker 容器數(shù)據(jù)卷volume
如果數(shù)據(jù)都在容器中,那么我們刪除容器的時候數(shù)據(jù)就會丟失,所以我們希望數(shù)據(jù)可以持久化。
例如MySQL容器,我們希望數(shù)據(jù)可以存儲在本地,當(dāng)MySQL容器刪除的時候,數(shù)據(jù)不會丟失。
容器之間可以有一個數(shù)據(jù)共享的技術(shù),Docker容器中產(chǎn)生的數(shù)據(jù),同步到本地,這就是卷技術(shù)。也就是數(shù)據(jù)掛載技術(shù),將我們?nèi)萜鲀?nèi)的目錄,掛載到Linux上面。
掛載之后,我們在容器內(nèi)做的操作回同步到Linux宿主機上。
使用數(shù)據(jù)卷
方式一:直接使用命令掛載 -v
docker run -it -v 主機目錄:容器目錄 #測試 [root@sumarua home]# docker run -it -v /home/ceshi:/home centos /bin/bash # 啟動起來之后我們可以通過docker inspect容器id]來查看
示例
MySQL的數(shù)據(jù)持久化
[root@sumarua home]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=666666 --name mysql mysql5.7
具名掛載和匿名掛載
#匿名掛載 -v 容器內(nèi)路徑 docker run -d -p --name nginx01 -v /etc/nginx nginx #查看所有的volume的情況 docker volume ls
# 具名掛載 # 通過 -v 卷名:容器內(nèi)路徑 docker run -d -p --name nginx02 -v juming-nginx:/etc/nginx nginx #查看 docker volume ls
我們可以查看一下卷的掛載的具體位置
docker volume inspect [卷名]
所有的docker 容器內(nèi)的卷,沒有指定目錄的情況下都在/var/lib/docker/volumes/xxxx/_data
通過具名掛載我們可以方便找到卷。
如何確定是具名掛載還是匿名掛載,還是指定路徑掛載
-v 容器內(nèi)路徑 #匿名掛載 -v 卷名:容器內(nèi)路徑 #具名掛載 -v /宿主機路徑:容器內(nèi)路徑 #指定路徑掛載
拓展:
# 通過 -v 容器內(nèi)路徑:ro rw 改變讀寫權(quán)限 ro readonly #只讀 rw readwrite #可讀可寫 #默認可讀可寫 #一旦設(shè)置了容器權(quán)限,容器對我們掛載出來的內(nèi)容就有限定了 #ro 這個路徑只能通過宿主機來操作,容器內(nèi)部是無法操作的。
方式二:Dockerfile
Dockerfile 就是用來構(gòu)建docker鏡像的構(gòu)建文件,命令腳本。
通過這個腳本可以生成鏡像,鏡像是一層一層的,腳本是一個一個的命令,每個命令都是一層。
# 創(chuàng)建一個dockerfile文件,名字可以隨機,建議Dockerfile # 文件中的內(nèi)容 指令(大寫)參數(shù) FROM centos VOLUME ["volume01","volume02"] CMD echo "----end----" CMD /bin/bash # 這里的每個命令,就是鏡像的一層
數(shù)據(jù)卷容器
--volumes-from
# 用法 [root@sumarua]#docker run -it --name docker02 --volumes-from docker01 sumarua/centos
實現(xiàn)數(shù)據(jù)同步,容器間數(shù)據(jù)共享
數(shù)據(jù)卷容器刪除文件后不會影響掛載在此容器上的其他容器的數(shù)據(jù)訪問。是一種拷貝的概念,備份拷貝機制。
容器之間配置信息的傳遞,數(shù)據(jù)卷容器的生命周期持續(xù)到?jīng)]有容器使用為止。
但是一旦持久化到本地,本地的數(shù)據(jù)是不會刪除的。
總結(jié)
到此這篇關(guān)于docker中容器數(shù)據(jù)卷volume介紹的文章就介紹到這了,更多相關(guān)docker數(shù)據(jù)卷volume內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。