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