docker撰写不接受我的卷宣言
我正在尝试使用docker-compose。 我从docker文档复制一个例子开始:
version: '3' services: web: image: nginx:alpine ports: - "80:80" networks: webnet: volumes: - type: volume source: mydata target: /data volume: nocopy: true - type: bind source: ./static target: /opt/app/static
但我得到的是: ERROR: In file './docker-compose.yml', volume must be a mapping, not an array.
它在我看来是一个老版本的docker-compose。 所以我试图更新我在MacOs上运行的Docker,但是它是最新的。 通过检查版本,这是我得到:
Matteos-MacBook-Pro-2:chateo matteo$ docker-compose -v docker-compose version 1.14.0, build c7bdf9e
不应该是1.17吗? 我不明白。 任何提示?
更新
我试着用一个键值列表replace数组:
volumes: mydata: type: volume source: mydata target: /data volume: nocopy: true static: type: bind source: ./static target: /opt/app/static
但是我得到的是以下内容:
Matteos-MacBook-Pro-2:chateo matteo$ docker-compose build ERROR: The Compose file './docker-compose.yml' is invalid because: volumes.static value Additional properties are not allowed ('source', 'type', 'target' were unexpected) volumes.mydata value Additional properties are not allowed ('volume', 'source', 'type', 'target' were unexpected)
尝试将volumes
定义更改为如下所示:
volumes: mydata: type: volume source: mydata target: /data volume: nocopy: true static: type: bind source: ./static target: /opt/app/static
我可能是错的,但卷不能arrays。