我开始学习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必须是映射,而不是字符串。
请给我建议。
答案 0 :(得分:0)
撰写文件顶部的卷部分用于定义命名的卷。如果只有具有绝对路径或相对路径的主机卷,则只需定义每个服务内的卷。对于命名卷,您可以在顶层以及需要访问命名卷的每个服务中定义它。这两个部分的名称相似,但语法不同。
请参见此文档,以获取yml文件顶层的“音量”部分:https://docs.docker.com/compose/compose-file/#volume-configuration-reference
此文档适用于每个服务的卷部分:https://docs.docker.com/compose/compose-file/#volumes