前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
?
?
數據卷
數據卷
?是一個可供一個或多個容器使用的特殊目錄,它繞過 UFS,可以提供很多有用的特性:
-
數據卷
?可以在容器之間共享和重用 -
對?
數據卷
?的修改會立馬生效 -
對?
數據卷
?的更新,不會影響鏡像 -
數據卷
?默認會一直存在,即使容器被刪除
注意:
數據卷
?的使用,類似于 Linux 下對目錄或文件進行 mount,鏡像中的被指定為掛載點的目錄中的文件會隱藏掉,能顯示看的是掛載的?數據卷
。
選擇 -v 還是 -–mount 參數
Docker 新用戶應該選擇?--mount
?參數,經驗豐富的 Docker 使用者對?-v
?或者?--volume
?已經很熟悉了,但是推薦使用?--mount
?參數。
創建一個數據卷
$ docker volume create my-vol
查看所有的?數據卷
$ docker volume lslocal my-vol
在主機里使用以下命令可以查看指定?數據卷
?的信息
$ docker volume inspect my-vol
[{"Driver": "local","Labels": {},"Mountpoint": "/var/lib/docker/volumes/my-vol/_data","Name": "my-vol","Options": {},"Scope": "local"}
]
啟動一個掛載數據卷的容器
在用?docker run
?命令的時候,使用?--mount
?標記來將?數據卷
?掛載到容器里。在一次?docker run
?中可以掛載多個?數據卷
。
下面創建一個名為?web
?的容器,并加載一個?數據卷
?到容器的?/webapp
?目錄。
$ docker run -d -P \--name web \# -v my-vol:/wepapp \--mount source=my-vol,target=/webapp \training/webapp \python app.py
查看數據卷的具體信息
在主機里使用以下命令可以查看?web
?容器的信息
$ docker inspect web
數據卷
?信息在 "Mounts" Key 下面
"Mounts": [{"Type": "volume","Name": "my-vol","Source": "/var/lib/docker/volumes/my-vol/_data","Destination": "/app","Driver": "local","Mode": "","RW": true,"Propagation": ""}
],
刪除數據卷
$ docker volume rm my-vol
數據卷
?是被設計用來持久化數據的,它的生命周期獨立于容器,Docker 不會在容器被刪除后自動刪除?數據卷
,并且也不存在垃圾回收這樣的機制來處理沒有任何容器引用的?數據卷
。如果需要在刪除容器的同時移除數據卷。可以在刪除容器的時候使用?docker rm -v
?這個命令。
無主的數據卷可能會占據很多空間,要清理請使用以下命令
$ docker volume prune
?
?
?
?