如果是 名冊,數據存儲在容器內。刪除容器會導致數據丟失。在本指南中,您將了解如何創建 Docker 卷、將其附加到容器以及在兩個或多個容器之間共享同一個卷以存儲數據。
如果您還不了解 docker 的基礎知識,請查看以下指南:
- 開始使用 Docker
內容
為什麼我們需要 Docker 卷?
- 刪除容器時不會刪除卷。
- 將捲附加或分離到容器。
- 在不同容器之間共享卷(存儲/數據)。
- 將容器與其存儲位置分開。
- 將捲保存到遠程主機或云。
數據和容器可以在邏輯上分離。如果我刪除,我可以以某種方式保存數據
還顯示容器和數據。因此,在銷毀容器後,您可以將捲附加到現有容器以及新容器。
Docker 卷概述
這個 泊塢窗卷 此命令創建卷、查看卷詳細信息、列出可用卷以及可以刪除卷的詳細卷命令。
# docker volume
查看“docker volume”命令的幫助部分
創建 Docker 卷
創建 Docker 卷的語法是:
docker volume create <volume_name>
例子:
# docker volume create devops_volume
上面的命令將創建一個名為 Devops_Volume.
創建 Docker 卷
列出 Docker 卷
要列出所有創建的 docker 卷,請運行:
# docker volume ls
列出 Docker 卷
檢查 Docker 卷
這個 碼頭工人角色檢查 此命令提供有關卷、位置、名稱和範圍創建的詳細信息。
句法:
docker volume inspect <volume_name>
讓我向您展示一個名為的 docker 卷的詳細信息 Devops_Volume.
# docker volume inspect devops_volume
檢查 Docker 卷
創建容器並附加卷
句法:
docker container create --name <container_name> -it --mount source<volume_name>,target=/<folder_Name> <image_name>
例子:
# docker container create --name myBusyBox1 -it --mount source=devops_volume,target=/app busybox
創建帶有附加卷的容器
要驗證容器是否已創建,請使用: 碼頭工人ps -a 命令:
“docker ps”命令輸出
啟動容器
啟動新創建的容器。 我忙碌的盒子 1, 跑:
# docker container start myBusyBox1
啟動 docker 容器
正如您在上面的屏幕截圖中看到的,容器 myBusyBox1 是在 8 分鐘前創建並在 6 秒前啟動的。
從共享卷在容器之間複製文件
讓我們創建一個場景,我們在共享位置的一個容器中創建一個文件,並嘗試從另一個容器訪問它。
我創建了一個名為 myBusyBox1 的容器。讓我們再創造一個。 我忙碌的盒子 2.
創建一個容器
現在您有兩個容器正在運行,myBusyBox1 和 myBusyBox2。
讓我們連接到我們的第一個容器並在其中創建一個文件 /應用 文件夾。
# docker exec -it myBusyBox1 sh
上面的命令將帶你到容器。
然後創建一個名為 開發運維 轉到 /app 文件夾並退出第一個容器。
連接到第一個容器
現在復製文件,如 索引.html,從本地系統到位置 /app/devops/ myBusyBox1 容器。
# docker container cp index.html myBusyBox1:/app/Devops
然後連接到另一個第二個容器。 我忙碌的盒子 2 並檢查內容 /app/devops 文件夾 索引.html 文件是否存在。
# docker exec -it myBusyBox2 sh
連接到第二個容器
從上面的屏幕截圖中我們可以看到兩個容器共享相同的捲。
您可以使用檢查卷的安裝點位置 碼頭工人角色檢查 命令是:
# docker volume inspect devops_volume
docker 檢查音量命令
如您所見,掛載點位置是 /var/lib/docker/volumes/devops_volume/_data.
讓我們去掛載點位置,看看複製的文件是否可用。
docker 卷掛載點
我在掛載點位置找到了相同的文件。
刪除泊塢窗卷
刪除卷的語法是:
docker volume rm <volume_name>
抹去名字 Devops_Volume.
# docker volume rm devops_volume
刪除泊塢窗卷
在上面的屏幕截圖中,我試圖刪除該卷,但由於該卷已在使用中,這是不可能的。所以你必須先殺死容器才能釋放捲。然後,您可以刪除該卷。
為此,首先使用以下命令刪除所有正在運行的容器:
# docker rm –f $(docker ps -aq)
然後刪除卷。
# docker volume rm devops_volume
刪除泊塢窗卷
一次刪除所有捲
利用 名冊 您可以通過運行該命令一次刪除一個卷。如果您有多個卷並且想要刪除所有捲,您應該使用 修剪 命令。
讓我們創建一些卷:
創建 Docker 卷
使用以下命令一次刪除所有 docker 卷:
# docker volume prune
一次刪除所有 docker 卷
看?一次刪除所有捲。
推薦閱讀:
- 解釋 Docker 網絡的概念
- 如何自動更新正在運行的 Docker 容器
- ctop – Linux 容器的命令行監控工具
- Portainer – 管理 Docker 的最簡單方法
- PiCluster – 簡單的基於 Web 的 Docker 管理應用程序
- Dockly – 從終端管理 Docker 容器
關於作者:
提瓦里博士 一位 DevOps 工程師,他喜歡自動化事物,大規模使用 Linux,並夢想有一天系統足夠智能,您甚至不需要登錄 Linux 機器。 從 CI/CD 源代碼到代碼部署到生產。
謝謝你的到來!
幫助我們幫助您:
- 訂閱我們的電子郵件通訊: 立即註冊
- 支持 OSTechNix: 通過貝寶捐款
- 下載免費的電子書和視頻: TradePub 的 OSTechNix
- 詢問: 紅迪網 | | Facebook | | 推特 | | 領英 | | RSS訂閱
祝你今天過得愉快! !
ContainerDockerLinux 虛擬化卷