docker-compose错误:卷不需要字符串

时间:2018-09-04 19:33:38

标签: docker docker-compose

我开始学习docker,我想使用docker-compose文件运行nextcloud。

我正在使用的docker-compose文件。我只指定了我创建的文件夹的卷。

version: ‘2’

volumes:
nextcloud:/home/ahmed/Desktop/docker-storage/nextcloud
db:/home/ahmed/Desktop/docker-storage/db

services:
db:
image: mariadb
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD= anha1985
- MYSQL_PASSWORD= anha1985
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud

app:
image: nextcloud
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
restart: always

我收到的错误消息是。 错误:在文件“ ./docker-compose.yml”中,volume必须是映射,而不是字符串。

请给我建议。

1 个答案:

答案 0 :(得分:0)

撰写文件顶部的卷部分用于定义命名的卷。如果只有具有绝对路径或相对路径的主机卷,则只需定义每个服务内的卷。对于命名卷,您可以在顶层以及需要访问命名卷的每个服务中定义它。这两个部分的名称相似,但语法不同。

请参见此文档,以获取yml文件顶层的“音量”部分:https://docs.docker.com/compose/compose-file/#volume-configuration-reference

此文档适用于每个服务的卷部分:https://docs.docker.com/compose/compose-file/#volumes