Docker 儲存卷是一種機制,讓你可以持久化和管理容器的數據。
它允許數據超越容器生命週期的存在,且在容器之間共享和重用。以下是如何創建和管理 Docker 儲存卷的指南:
使用 docker volume create 命令創建一個新的儲存卷:
bash
Copy code
docker volume create myvolume
使用 docker volume ls 查看主機上的所有儲存卷:
bash
Copy code
docker volume ls
要查看特定儲存卷的詳情,你可以使用 docker volume inspect 命令:
bash
Copy code
docker volume inspect myvolume
當你運行一個新的容器時,你可以使用 -v 或 --volume 選項掛載儲存卷:
bash
Copy code
docker run -d -v myvolume:/app/data myimage
在上面的命令中,myvolume 儲存卷將掛載到容器的 /app/data 目錄下。
使用 docker volume rm 命令刪除儲存卷:
bash
Copy code
docker volume rm myvolume
注意:僅當沒有容器使用儲存卷時,你才能刪除它。
如果你希望清除所有未被任何容器使用的儲存卷,可以使用 docker volume prune 命令:
bash
Copy code
docker volume prune
如果你需要對儲存卷的數據進行備份或恢復,你可以使用 docker cp 命令或者使用其他的文件系統工具。
例如,備份儲存卷的數據:
bash
Copy code
docker run --rm --volumes-from [CONTAINER_NAME] -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /path/in/container
進行恢復:
bash
Copy code
docker run --rm -v myvolume:/target -v $(pwd):/source ubuntu tar xvf /source/backup.tar -C /target
在這裡,[CONTAINER_NAME] 是使用儲存卷的容器名稱,而 /path/in/container 是容器內部的數據路徑。
總的來說,Docker 儲存卷提供了一個靈活且持久的方式來管理容器的數據。熟悉這些基本命令可以幫助你更有效地使用 Docker 和儲存卷。