Docker 中的 Volume 是一種專為持久化資料設計的機制,能讓資料即使容器被刪除也能保留。以下為常用 Volume 操作指令與說明。
# 查看所有 Volume docker volume ls # 建立新的 Volume docker volume create volumeName # 使用 Volume 啟動容器(將 Volume 掛載至容器路徑) docker container run -itd -v volumeName:/container/path imageName:imageTag
docker volume ls:列出目前所有存在的 Volume。
docker volume ls
docker volume create volumeName:建立一個新的 Volume,若未指定名稱,Docker 會自動產生。
docker volume create volumeName
-v volumeName:/container/path:
-v volumeName:/container/path
volumeName
/container/path
Volume 資料會儲存在 Docker 的預設目錄中(例如:/var/lib/docker/volumes),不易被不小心刪除。
/var/lib/docker/volumes
若改用 -v /host/path:/container/path,則是將主機上的目錄掛載進容器,這屬於 Bind Mount,不等同 Volume,但也可達到持久化目的。
-v /host/path:/container/path
/var/lib/docker/...
# 查看特定 Volume 詳細資訊 docker volume inspect volumeName
# 清除所有未被容器使用的 Volume docker volume prune
⚠️ 注意:docker volume prune 將會刪除所有未被使用的 Volume,請謹慎操作。
docker volume prune
Volume 外部目錄掛載與數據持久化(Docker)
Docker 中的 Volume 是一種專為持久化資料設計的機制,能讓資料即使容器被刪除也能保留。以下為常用 Volume 操作指令與說明。
常用指令
# 查看所有 Volume docker volume ls # 建立新的 Volume docker volume create volumeName # 使用 Volume 啟動容器(將 Volume 掛載至容器路徑) docker container run -itd -v volumeName:/container/path imageName:imageTag補充說明
docker volume ls:列出目前所有存在的 Volume。docker volume create volumeName:建立一個新的 Volume,若未指定名稱,Docker 會自動產生。-v volumeName:/container/path:volumeName是主機上的 Volume 名稱。/container/path是容器內部的路徑,資料將會在此位置讀寫。Volume 資料會儲存在 Docker 的預設目錄中(例如:
/var/lib/docker/volumes),不易被不小心刪除。若改用
-v /host/path:/container/path,則是將主機上的目錄掛載進容器,這屬於 Bind Mount,不等同 Volume,但也可達到持久化目的。與 Bind Mount 的差異簡述
/var/lib/docker/...)進階查看 Volume 資訊
# 查看特定 Volume 詳細資訊 docker volume inspect volumeName清除未使用的 Volume
# 清除所有未被容器使用的 Volume docker volume prune