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

问题描述 投票:0回答:1

我开始学习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'中,卷必须是映射,而不是字符串。

请指教。

docker docker-compose
1个回答
0
投票

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

有关yml文件顶级卷部分的信息,请参阅此文档:https://docs.docker.com/compose/compose-file/#volume-configuration-reference

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

© www.soinside.com 2019 - 2024. All rights reserved.