在實(shí)際使用過(guò)程中,我們可能會(huì)經(jīng)常遇到容器間數(shù)據(jù)共享的情況,怎么處理呢?通過(guò) docker 命令中的一些選項(xiàng),我們即可完成容器間的數(shù)據(jù)共享。
專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)磐安免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
容器一:gysl-1
[root@dev ~]# docker run -it --rm --name gysl-1 -v /data-1 alpine
容器二:gysl-2
[root@dev ~]# docker run -it --rm --volumes-from gysl-1 --name gysl-2 alpine
在容器gysl-1創(chuàng)建文件:gysl-1.txt
/ # cd data-1/
/data-1 # touch gysl-1.txt
在容器gysl-2創(chuàng)建文件:gysl-2.txt
/ # cd data-1/
/data-1 # touch gysl-2.txt
分別在兩個(gè)容器查看:
/data-1 # ls -lh
total 0
-rw-r--r-- 1 root root 0 Jan 10 18:45 gysl-1.txt
-rw-r--r-- 1 root root 0 Jan 10 18:47 gysl-2.txt
兩個(gè)容器的data-1目錄下的內(nèi)容完全一致。
3.1 當(dāng)一個(gè)容器的volume被其他容器共享時(shí),其他容器是不需要?jiǎng)?chuàng)建共享目錄的,共享目錄會(huì)在其他容器內(nèi)被自動(dòng)創(chuàng)建,與被共享容器的目錄名稱一致。
3.2 一個(gè)容器的volume可以被多個(gè)容器同時(shí)共享。
3.3 當(dāng)容器被刪除時(shí),volume不會(huì)被自動(dòng)刪除。如果數(shù)據(jù)不會(huì)再次被使用,那么可以通過(guò)手動(dòng)來(lái)刪除已經(jīng)廢棄的volume,命令如下:
[root@dev ~]# docker volume ls
DRIVER VOLUME NAME
local 8126b3ad828a9a7e29ec04f4d7a1901be5e40ca6157fde62dca3421322e5de7a
local bf80e1eb66685161cb6bf6943079de4a68a7bc3db3bba241347ed051fe59fc46
[root@dev ~]# docker volume prune
WARNING! This will remove all volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0 B
也可以:
docker volume rm volume_name
還可以(在刪除容器的同時(shí)強(qiáng)制刪除volume):
docker rm -vf container_name