使用Docker卷


Docker卷是可掛載到Docker容器的檔案系統。它們有助於儲存資料,並且獨立於容器的生命週期。Docker卷的主要優點之一是它允許開發者備份資料,並允許在Docker容器之間輕鬆共享檔案系統。我們在啟動Docker容器時可以輕鬆掛載卷。也可以將同一個卷掛載到不同的容器,這允許在它們之間輕鬆共享資料,這可以透過使用簡單的命令和標誌輕鬆實現。

在本文中,我們將討論如何使用命令建立、列出、檢查、掛載和刪除Docker卷。

建立Docker卷

您可以使用create命令建立Docker卷。執行該命令後,Docker會在本地機器上為卷建立一個特定目錄。此目錄位於/var/lib/docker/volume路徑中。

建立Docker卷的命令是:

sudo docker volume create <volume_name>

例如,如果您想建立一個名為myVolume的卷,您可以使用以下命令:

sudo docker volume create myVolume.

列出所有Docker卷

既然您已經建立了一個Docker卷,如果您想列出所有現有的Docker卷,您可以使用以下命令:

sudo docker volume list

執行上述命令後,將顯示一個列表,其中包含所有現有卷的驅動程式名稱和卷名稱。

檢查Docker卷

要檢查特定的Docker卷,您可以使用Docker inspect命令。它將列出有關Docker卷的所有詳細資訊,包括建立日期、掛載點、驅動程式名稱、卷名稱等。

檢查Docker卷的命令是:

sudo docker volume inspect <volume_name>

掛載Docker卷

執行Docker run命令時,您可以使用--mount標誌輕鬆地將Docker卷掛載到Docker容器。您還可以將同一個卷掛載到多個Docker容器,所有容器都將共享對該卷的訪問許可權。此命令如下所示:

sudo docker run −−mount source=<name of volume>,destination=<path of a directory in container> <image_name>

例如,如果您想將名為myVolume的卷掛載到ubuntu容器的/usr/src/app/位置,您可以使用以下命令:

sudo docker run −it −−mount source=myVolume,destination=/usr/src/app/ ubuntu

這將開啟一個掛載了指定位置卷的ubuntu bash。您可以透過進入容器內的指定位置來驗證這一點。

刪除Docker卷

要刪除Docker卷,您需要確保該卷此時未被使用。如果容器正在執行並掛載了該卷,則必須先停止容器才能刪除掛載的卷。停止容器後,您可以使用以下命令刪除卷:

sudo docker rm <name of volume>

要一次刪除所有卷,您需要確保沒有卷正在使用,然後使用以下命令:

sudo docker volume prune

與多個Docker容器共享Docker卷

假設您想與多個Docker容器共享一些檔案。在這種情況下,您可以將檔案放入Docker卷中,將該卷掛載到多個Docker容器中,並獲得對該卷的共享訪問許可權。讓我們討論如何做到這一點。

首先使用volume create命令建立一個卷,並將該卷掛載到特定的Docker容器。

例如:

sudo docker volume create myVolume
sudo docker run −it −−name=container1 −−mount source=myVolume,destination=/app ubuntu

以上兩個命令將建立一個名為myVolume的Docker卷,並將此卷掛載到名為container1的ubuntu映象容器的/app位置。這還將開啟該特定容器的bash。

在bash中,您可以看到在那裡建立了一個名為/app的目錄。使用ls命令來執行此操作。轉到該目錄並建立一個檔案,然後退出bash。您可以使用以下命令:

ls
cd app
touch tutorialspoint.txt
exit

之後,建立一個新的容器並將同一個卷掛載到該容器中。您可以使用以下命令:

sudo docker run −it −−name=container2 −−mount source=myVolume,destination=/app ubuntu

這將建立一個名為container2的第二個容器,並將名為myVolume的卷掛載到ubuntu映象的/app位置。您可以使用ls命令來驗證這一點。進入/app目錄後,您將看到在container1中建立的同一個tutorialspoint.txt檔案。如果您在檔案中進行任何更改,它也會反映在另一個容器中。

總而言之,在本文中,我們看到了建立、檢查、列出、刪除Docker卷的所有基本命令。我們還看到了如何透過將同一個卷掛載到不同的Docker容器來在多個Docker容器之間共享檔案。

更新於:2020年10月27日

1K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始
廣告