您好,登錄后才能下訂單哦!
今天小編給大家分享一下Docker的volume如何使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
docker volume使用
一個數據卷是一個特別指定的目錄,該目錄利用容器的ufs文件系統可以為容器提供一些穩定的特性或者數據共享。數據卷可以在多個容器之間共享。
創建數據卷,只要在docker run命令后面跟上-v參數即可創建一個數據卷,當然你也可以跟多個-v參數來創建多個數據卷,當創建好帶有數據卷的容器后,你就可以在其他容器中通過--volumes-froms參數來掛載該數據卷了,而不管該容器是否運行。你也可以在dockerfile中通過volume指令來增加一個或者多個數據卷。
如果你有一些數據想在多個容器間共享,或者想在一些臨時性的容器中使用該數據,那么最好的方案就是你創建一個數據卷容器,然后從該臨時性的容器中掛載該數據卷容器的數據。例如如下操作:
#啟動一個volume_container容器,包含兩個數據卷 docker run -v /var/volume1 -v /var/volume2 -name volume_container ubuntu14.04 linux_command #創建app_container容器,掛載volume_container容器中的數據卷 docker run -t -i -rm -volumes-from volume_container -name app_container ubuntu14.04 linux_command #或者再創建一個容器,掛載app_container中從volume_container掛載的數據卷 docker run -t -i -rm -volumes-from app_container -name lastapp_container ubuntu14.04 linux_command
1 在一個終端內創建數據卷容器,并在數據卷目錄內寫入測試文件
2 另打開一個容器,掛載上一個數據卷容器的數據卷,查看測試文件
即使你刪除了剛開始的第一個數據卷容器或者中間層的數據卷容器,只要有其他容器使用數據卷,數據卷都不會被刪除的。
你也可以把一個本地主機的目錄當做數據卷掛載在容器上,同樣是在docker run后面跟-v參數,不過-v后面跟的不再是單獨的目錄了,他是[host-dir]:[container-dir]:[rw|ro]這樣格式的,host-dir是一個絕對路徑的地址,如果host-dir不存在,則docker會創建一個新的數據卷,如果host-dir存在,但是指向的是一個不存在的目錄,則docker也會創建該目錄,然后使用該目錄做數據源。例如:
docker run -i -t -v /tmp:/mnt ubuntu/14.04:14.04 /bin/bash
你不能使用docker export、save、cp等命令來備份數據卷的內容,因為數據卷是存在于鏡像之外的,但是總會有變通方法的,如下:
docker run -rm --volumes-from data -v $(pwd):/backup busybox tar cvf /backup/backup.tar /data
創建一個新容器,掛載數據卷容器,同時掛載一個本地目錄,然后把遠程數據卷容器的數據卷通過備份命令備份到映射的本地目錄里面。
以上就是“Docker的volume如何使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。