Docker撰写安装卷错误:没有此类文件或目录

问题描述 投票:0回答:3

我正在尝试使用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

但是当我运行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

我正在使用Compose v 1.21.0在Windows 10 Pro上运行Docker for Windows Edge(18.05.0-ce-rc1)。我也通过Docker for Windows共享F盘。

如果您需要任何其他信息,请与我们联系。谢谢。

docker-compose docker-for-windows
3个回答
3
投票

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

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


0
投票

它适用于Windows,但您必须在device选项中添加一个前导斜杠,例如

docker volume create \
            --opt type=none \
            --opt o=bind \
            --opt device=/$(pwd)/grafana/dashboards \
            --name grafana_dashboards

0
投票

在Windows上,您不应在卷部分中创建卷。服务中的一个就足以为Windows文件系统创建一个mounth,只要它在以下位置启用:Docker-> Settings-> Shared Drives - 整个驱动器并确保在更改窗口时单击“重置凭据”密码

路径c:\ Temp \ some_dir工作,当前目录表示法(。)我不确定。

© www.soinside.com 2019 - 2024. All rights reserved.