Docker Compose 安装卷错误:没有这样的文件或目录

Nic*_*ore 6 docker docker-compose docker-for-windows

我正在尝试使用 docker-compose 构建一个简单的 Drupal 容器,但在尝试安装指定卷时遇到错误。这是我的 docker-compose.yml 文件:

version: '2.1'
services:
    web:
        build: ./build
        image: "myrmidon16/drupal-base:latest"
        working_dir: "/var/www/html"
        volumes:
            - sites:/var/www/html/sites
        links:
            - "db"
        ports:
            - 8001:80
    db:
        image: "mysql:latest"
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - MYSQL_USER=root
            - MYSQL_PASSWORD=root
            - MYSQL_DATABASE=drupal-base
        volumes:
            - ".:/var/www/html"
        ports:
            - "3306"
    drush:
        image: "mparker17/mush"
        working_dir: "/var/www/html"
        volumes:
            - .:/var/www/html
        links:
            - "db"

volumes:
    sites:
        driver: local
        driver_opts:
            type: bind
            o: bind
            device: ${PWD}/sites
Run Code Online (Sandbox Code Playgroud)

但是当我运行时docker-compose up -d,即使该目录存在,我也会收到以下错误:

ERROR: for web Cannot create container for service web: error while mounting volume with options: type='bind' device='/mnt/f/Documents/sites' o='bind': no such file or directory

我正在 Windows 10 Pro 上使用 Compose v 1.21.0 运行适用于 Windows Edge (18.05.0-ce-rc1) 的 Docker。我还通过 Docker for Windows 共享 F 驱动器。

如果您需要任何其他信息,请告诉我。谢谢。

Den*_*nov 4

在 Windows 上,本地驱动程序不支持任何选项。所以在你的 docker-compose 选项中o:bind是无效的。

根据:文档https://docs.docker.com/engine/reference/commandline/volume_create/#driver-specific-options

  • 不使用命名卷,而仅使用绑定安装。 (2认同)