我开始学习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'中,卷必须是映射,而不是字符串。
请指教。
撰写文件顶部的卷部分用于定义命名卷。如果只有主机卷具有绝对路径或相对路径,则只能在每个服务中定义卷。对于命名卷,您可以在顶级和每个需要访问指定卷的服务中定义它。这两个部分虽然命名相似,但具有不同的语法。
有关yml文件顶级卷部分的信息,请参阅此文档:https://docs.docker.com/compose/compose-file/#volume-configuration-reference
此文档适用于每个服务中的卷部分:https://docs.docker.com/compose/compose-file/#volumes