Docker编写yaml-卷问题

Docker编写yaml-卷问题,docker,docker-compose,Docker,Docker Compose,我一直在关注它,但因为它今天真的过时了,我不能完全关注它。一旦我让这个docker compose.yml文件工作: version: '3' services: nginx: build: ./nginx/ ports: - 80:80 links: - php volumes: - ./www/html:/var/www/html php: image: php:7.0-fpm expose:

我一直在关注它,但因为它今天真的过时了,我不能完全关注它。一旦我让这个
docker compose.yml
文件工作:

version: '3'
services:
  nginx:
    build: ./nginx/
    ports:
      - 80:80
    links:
      - php
    volumes:
      - ./www/html:/var/www/html

  php:
    image: php:7.0-fpm
    expose:
        - 9000
    volumes:
        - ./www/html:/var/www/html
它确实成功地运行了

当我试图将卷信息提取到单独的属性中时,它不起作用

我尝试过几种方法和组合,但都失败了。 请给我一个如何正确指定的提示

文件夹结构如下:

nginx
  default.conf
  Dockerfile
www
  html
    index.php
docker-compose.yml

主机卷(也称为绑定装载)不需要在顶层有单独的卷部分。仅命名卷需要volumes部分。事实上,使用顶级卷的唯一方法是使用命名卷。

您是否在VM/docker机器中运行docker容器?@diginoise我不确定。在windows 10上,我安装了docker,没有什么能缩小它的范围。。。你使用Windows Linux子系统(WSL)还是Hyper-V虚拟机?@diginoise我不相信sook,你尝试过使用绝对路径吗?还要确保Docker for Win已启用共享路径:您能告诉我如何实际实现吗?因为您的数据位于主机上,所以您不会使用命名卷。Docker关于使用卷的文档在这里提供:因此,唯一正确的方法(在本例中)是使用我以前的方法?没错,您只在服务定义中定义主机卷,而不是在顶级命名卷部分中定义主机卷。