如何在docker compose中创建docker卷
我有一个docker compose文件来启动我的服务。我需要在主机上为我的服务设置一个卷。据我所知,我必须首先在主机上创建卷(使用docker volume create),然后将卷名放入docker compose文件中。我想知道这是否是创建卷的唯一选项?或者我可以在主机上的docker compose文件中自动创建卷?您可以直接在docker compose中创建命名卷,例如如何在docker compose中创建docker卷,docker,docker-compose,Docker,Docker Compose,我有一个docker compose文件来启动我的服务。我需要在主机上为我的服务设置一个卷。据我所知,我必须首先在主机上创建卷(使用docker volume create),然后将卷名放入docker compose文件中。我想知道这是否是创建卷的唯一选项?或者我可以在主机上的docker compose文件中自动创建卷?您可以直接在docker compose中创建命名卷,例如 version: '2.4' services: ubuntu: image: ubuntu:18.
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:
myvolume:
name: othermyvolumename
driver: nfs-driver
定义卷后,您可以在
服务
部分中引用它们。在Compose中可以直接执行此操作。但是myvolume应该已经存在于主机上,对吗?docker Compose文件中的第二个卷做了什么?在哪里列出所有卷?你放了{}但我也看到过有true的地方,这意味着什么?我为你编辑了我的答案-如果你认为这有帮助,如果你能接受,我将非常感激:)卷前面的true或false意味着它是否已经存在于主机上?