本文介绍了运行 docker-compose “Getting Started"示例导致“无效的卷规范"在 Windows 上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对 Docker 完全陌生.我按照 Docker Compose 的入门"教程中描述的步骤进行操作:

I am absolutely new to Docker. I followed steps described in Docker Compose's "Getting Started" tutorial:

  1. 安装 Docker 工具箱
  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:Projectscomposetest:/code:rw'
[31mERROR[0m: Encountered errors while bringing up the project.

docker-compose.yml:

docker-compose.yml:

version: '2'
services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code:rw
  redis:
    image: "redis:alpine"

项目结构:

D:Projectscomposetest
  ├── app.py
  ├── docker-compose.yml
  ├── Dockerfile
  └── requirements.txt

我的配置:

  1. Windows 10 单一语言
  2. Docker 工具箱 1.12.5

为什么会这样?有什么解决办法吗?

Why does it happen? Is there some workaround?

推荐答案

我找到了解决方案.问题是我没有设置环境变量 COMPOSE_CONVERT_WINDOWS_PATHS.CLI 变量文档中对此进行了描述.

I found the solution. The problem was I didn't set the environment variable COMPOSE_CONVERT_WINDOWS_PATHS. It is described in the CLI variables doc.

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

So, if this problem exists, you should create new Windows environment variable called COMPOSE_CONVERT_WINDOWS_PATHS and set it to 1. Or you can create .env file in the path docker-compose.yml is placed with following content:

 COMPOSE_CONVERT_WINDOWS_PATHS=1

它会解决这个问题.

这篇关于运行 docker-compose “Getting Started"示例导致“无效的卷规范"在 Windows 上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 10:20