Docker compose: 卷定义中{}的含义

Docker compose: meaning of {} in volume definition

体积定义中的{}是什么意思?

例如

version: '2'

volumes:
  dataelasticsearch: {}

services:   
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.4.3
    volumes:
      - ./dataelasticsearch:/usr/share/elasticsearch/data

这只是一个空映射。这只是意味着没有为指定的卷提供额外的选项。

根据我所做的测试,这与将其留空没有什么不同:

volumes:
   dataelasticsearch:

docker-compose docs 对此不再提供更多见解。

还有一件事:您在顶部定义了一个命名卷,然后您在服务中绑定了一个已安装的卷:

volumes:
  - ./dataelasticsearch:/usr/share/elasticsearch/data

这里 ./dataelasticsearch 基本上是在您的本地目录中创建一个文件夹,该文件夹作为一个卷安装。如果你想要这个功能,你根本不需要命名卷。