如何在Docker Compose中创建Docker卷

时间:2019-09-12 15:42:34

标签: docker docker-compose

我有一个docker-compose文件来启动我的服务。我需要在主机上有一个用于服务的卷。据我了解,我必须先在主机上创建卷(使用docker volume create),然后将卷名放入我的docker-compose文件中。我想知道这是否是创建卷的唯一选择?或者我可以以某种方式在我的docker-compose文件中自动在主机上创建卷?

1 个答案:

答案 0 :(得分:2)

您可以直接在docker-compose中创建命名卷

version: '2.4'

services:
  ubuntu:
    image: ubuntu:18.04
    volumes:
      - myvolume:/opt/myvolume

volumes:
  myvolume: {}

编辑:

卷不需要在主机上存在,请参见示例日志:

➜ /tmp docker-compose up                                                            
Creating volume "tmp_myvolume" with default driver                                  
Creating tmp_ubuntu_1 ... done

编辑2:

回答问题:volumes是您可以在其中定义某些卷的配置的部分。在我的示例中,我通过了空配置,但是它看起来像是

volumes:
   myvolume:
     name: othermyvolumename
     driver: nfs-driver

定义卷后,可以在services部分中引用它们。