將卷分配給容器

Docker 卷是一個超出容器生命週期的檔案或目錄。可以將主機檔案或目錄作為卷安裝到容器中(繞過 UnionFS)。

使用 -v 命令列選項新增捲:

docker run -d -v "/data" awesome/app bootstrap.sh

這將建立一個卷並將其安裝到容器內的路徑/data

  • 注意:你可以使用標誌 --rm 在移除容器時自動刪除卷。

掛載主機目錄

要將主機檔案或目錄裝入容器:

docker run -d -v "/home/foo/data:/data" awesome/app bootstrap.sh
  • 指定主機目錄時,必須提供絕對路徑。

這會將主機目錄/home/foo/data 掛載到容器內的/data 上。這個繫結掛載的主機目錄卷與 Linux mount --bind 相同,因此在容器生存期間暫時將主機目錄掛載到指定的容器路徑上。來自主機或容器的卷的更改會立即反映在另一箇中,因為它們是磁碟上的相同目標。

UNIX 示例安裝相對資料夾

docker run -d -v $(pwd)/data:/data awesome/app bootstrap.sh

命名卷

可以通過提供字串而不是主機目錄路徑來命名卷,docker 將使用該名稱建立卷。

docker run -d -v "my-volume:/data" awesome/app bootstrap.sh

建立命名卷後,可以使用該名稱與其他容器共享卷。