繁体   English   中英

Docker命名卷与DOC(仅数据容器)

[英]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

关于这个新功能的文档仍然不多。 我在问:

  • 我们可以用命名容器替换DOC吗? 音量持续多长时间? 如果我删除正在使用它的容器怎么办?
  • 我们怎样才能备份呢? 以前,我可以docker run --rm --volumes-from es-data ...然后tar它。

我们可以用命名容器替换DOC吗?

在许多情况下,是的,命名容器将是更好的选择。

音量持续多长时间? 如果我删除正在使用它的容器怎么办?

如果您卸下容器,卷仍将在那里。 删除卷的唯一方法是使用docker-compose down -vdocker 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM