一尘不染

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

docker

在最新版本的Docker(v1.10)之前,我们认为我们可以使用DOC: 仅数据容器
。因此,我将创建此类DOC(基于例如busybox)并将--volumes- from其链接到我的容器。您仍然可以在Docker文档中阅读有关此内容的信息

对于新版本的docker,据说我们应该使用而不是DOC named volumes。这是一个示例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可以。

阅读 279

收藏
2020-06-17

共1个答案

一尘不染

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

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

持续多长时间?如果我卸下正在使用的容器怎么办?

如果卸下容器,则该卷仍将存在。删除卷的唯一方法是使用docker-compose down -vdocker volume rm <volume name>

我们现在该如何备份?以前,我可以docker从es-data运行–rm –volumes -…然后将其压缩。

相反--volumes-from,您可以使用--volume=<volume name>

请注意,由创建的卷docker- compose始终以项目名称作为前缀,因此,如果将其与docker命令一起使用,则全名实际上是<project_name>_es-data

2020-06-17