溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker的volume如何使用

發(fā)布時(shí)間:2022-05-26 16:19:18 來源:億速云 閱讀:555 作者:iii 欄目:大數(shù)據(jù)

今天小編給大家分享一下Docker的volume如何使用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

docker volume使用

    一個(gè)數(shù)據(jù)卷是一個(gè)特別指定的目錄,該目錄利用容器的ufs文件系統(tǒng)可以為容器提供一些穩(wěn)定的特性或者數(shù)據(jù)共享。數(shù)據(jù)卷可以在多個(gè)容器之間共享。

      創(chuàng)建數(shù)據(jù)卷,只要在docker run命令后面跟上-v參數(shù)即可創(chuàng)建一個(gè)數(shù)據(jù)卷,當(dāng)然你也可以跟多個(gè)-v參數(shù)來創(chuàng)建多個(gè)數(shù)據(jù)卷,當(dāng)創(chuàng)建好帶有數(shù)據(jù)卷的容器后,你就可以在其他容器中通過--volumes-froms參數(shù)來掛載該數(shù)據(jù)卷了,而不管該容器是否運(yùn)行。你也可以在dockerfile中通過volume指令來增加一個(gè)或者多個(gè)數(shù)據(jù)卷。

      如果你有一些數(shù)據(jù)想在多個(gè)容器間共享,或者想在一些臨時(shí)性的容器中使用該數(shù)據(jù),那么最好的方案就是你創(chuàng)建一個(gè)數(shù)據(jù)卷容器,然后從該臨時(shí)性的容器中掛載該數(shù)據(jù)卷容器的數(shù)據(jù)。例如如下操作:

#啟動(dòng)一個(gè)volume_container容器,包含兩個(gè)數(shù)據(jù)卷
docker run -v /var/volume1 -v /var/volume2 -name volume_container ubuntu14.04 linux_command

#創(chuàng)建app_container容器,掛載volume_container容器中的數(shù)據(jù)卷
docker run -t -i -rm -volumes-from volume_container -name app_container ubuntu14.04 linux_command

#或者再創(chuàng)建一個(gè)容器,掛載app_container中從volume_container掛載的數(shù)據(jù)卷
docker run -t -i -rm -volumes-from app_container -name lastapp_container ubuntu14.04 linux_command

      1    在一個(gè)終端內(nèi)創(chuàng)建數(shù)據(jù)卷容器,并在數(shù)據(jù)卷目錄內(nèi)寫入測試文件

Docker的volume如何使用

      2    另打開一個(gè)容器,掛載上一個(gè)數(shù)據(jù)卷容器的數(shù)據(jù)卷,查看測試文件

Docker的volume如何使用

          即使你刪除了剛開始的第一個(gè)數(shù)據(jù)卷容器或者中間層的數(shù)據(jù)卷容器,只要有其他容器使用數(shù)據(jù)卷,數(shù)據(jù)卷都不會(huì)被刪除的。

      你也可以把一個(gè)本地主機(jī)的目錄當(dāng)做數(shù)據(jù)卷掛載在容器上,同樣是在docker run后面跟-v參數(shù),不過-v后面跟的不再是單獨(dú)的目錄了,他是[host-dir]:[container-dir]:[rw|ro]這樣格式的,host-dir是一個(gè)絕對(duì)路徑的地址,如果host-dir不存在,則docker會(huì)創(chuàng)建一個(gè)新的數(shù)據(jù)卷,如果host-dir存在,但是指向的是一個(gè)不存在的目錄,則docker也會(huì)創(chuàng)建該目錄,然后使用該目錄做數(shù)據(jù)源。例如:

docker run -i -t -v /tmp:/mnt ubuntu/14.04:14.04 /bin/bash

Docker的volume如何使用

        你不能使用docker export、save、cp等命令來備份數(shù)據(jù)卷的內(nèi)容,因?yàn)閿?shù)據(jù)卷是存在于鏡像之外的,但是總會(huì)有變通方法的,如下:

docker run -rm --volumes-from data -v $(pwd):/backup busybox tar cvf /backup/backup.tar /data

          創(chuàng)建一個(gè)新容器,掛載數(shù)據(jù)卷容器,同時(shí)掛載一個(gè)本地目錄,然后把遠(yuǎn)程數(shù)據(jù)卷容器的數(shù)據(jù)卷通過備份命令備份到映射的本地目錄里面。

以上就是“Docker的volume如何使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI