运行docker-compose"Getting Started"示例会导致Windows上出现"无效的卷规范"

Lod*_*din 20 docker docker-compose

我是Docker的新手.我按照Docker Compose的"入门"教程中描述的步骤操作:

  1. 安装Docker Toolbox
  2. 启动Docker快速入门终端
  3. 添加项目文件
  4. 运行docker-compose up命令

我得到以下错误:

ERROR: for web  Cannot create container for service web: Invalid bind mount spec "D:\\Projects\\composetest:/code:rw": Invalid volume specification: 'D:\Projects\composetest:/code:rw'
[31mERROR[0m: Encountered errors while bringing up the project.
Run Code Online (Sandbox Code Playgroud)

泊坞窗,compose.yml:

version: '2'
services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code:rw
  redis:
    image: "redis:alpine"
Run Code Online (Sandbox Code Playgroud)

项目结构:

D:\Projects\composetest
  ??? app.py
  ??? docker-compose.yml
  ??? Dockerfile
  ??? requirements.txt
Run Code Online (Sandbox Code Playgroud)

我的配置:

  1. Windows 10单语言
  2. Docker Toolbox 1.12.5

为什么会这样?有一些解决方法吗?

Lod*_*din 45

我找到了解决方案.问题是我没有设置环境变量COMPOSE_CONVERT_WINDOWS_PATHS.它在CLI变量doc中描述.

因此,如果存在此问题,则应创建一个名为的新Windows环境变量COMPOSE_CONVERT_WINDOWS_PATHS并将其设置为1.或者您可以.env在路径中创建文件,其中docker-compose.yml包含以下内容:

 COMPOSE_CONVERT_WINDOWS_PATHS=1
Run Code Online (Sandbox Code Playgroud)

它会解决这个问题.