[英]Docker named volumes vs DOC (data-only-containers)
直到最近版本的Docker(v1.10),我們認為我們可以使用DOC: 僅數據容器 。 所以我會創建這樣的DOC(基於例如busybox)並使用--volumes-from
將它鏈接到我的容器。 您仍然可以在Docker文檔中閱讀此內容 。
對於新版本的docker,我們應該使用named volumes
來代替DOC。 這是docker-compose.yml
一個例子:
version: '2'
services:
elasticsearch:
image: elasticsearch:2.2.0
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "9201:9200"
volumes:
- "es-data:/usr/share/elasticsearch/data"
volumes:
es-data:
在這里,我們創建並使用命名的卷es-data
。
關於這個新功能的文檔仍然不多。 我在問:
docker run --rm --volumes-from es-data ...
然后tar
它。 我們可以用命名容器替換DOC嗎?
在許多情況下,是的,命名容器將是更好的選擇。
音量持續多長時間? 如果我刪除正在使用它的容器怎么辦?
如果您卸下容器,卷仍將在那里。 刪除卷的唯一方法是使用docker-compose down -v
或docker volume rm <volume name>
。
我們怎樣才能備份呢? 以前,我可以從es-data中運行--rm --volumes - 然后tar它。
而不是--volumes-from
,您可以使用--volume=<volume name>
。
請注意,創建的卷docker-compose
總是與項目名稱前綴,所以如果你有一個使用docker
命令的全稱其實是<project_name>_es-data
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.