將卷分配給容器
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
建立命名卷後,可以使用該名稱與其他容器共享卷。