当前位置: 首页 > 面试题库 >

在Windows上运行docker-compose“入门”示例会导致“无效的卷规范”

和魁
2023-03-14
问题内容

我绝对不是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.

docker-compose.yml:

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

项目结构:

D:\Projects\composetest
  ├── app.py
  ├── docker-compose.yml
  ├── Dockerfile
  └── requirements.txt

我的配置

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

为什么会发生?有一些解决方法吗?


问题答案:

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

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

 COMPOSE_CONVERT_WINDOWS_PATHS=1

它将解决此问题。



 类似资料:
  • null docker-compose.yml: 项目结构: 我的配置: null

  • Compose的使用非常简单,只需要编写一个docker-compose.yml ,然后使用docker-compose 命令操作即可。docker-compose.yml 描述了容器的配置,而docker-compose 命令描述了对容器的操作。我们首先通过一个示例快速入门: 还记得前文,我们使用Dockerfile为项目microservice-discovery-eureka 构建Docke

  • 我最近在Windows10上升级了我的Docker工具箱,现在我的音量挂载不再工作了。我什么都试过了。下面是当前的挂接路径:

  • 完成上一节的初次运行后,你肯定会发现一点:一旦你按下 Ctrl+C,停下标准输入输出,logstash 进程也就随之停止了。作为一个肯定要长期运行的程序,应该怎么处理呢? 本章节问题对于一个运维来说应该属于基础知识,鉴于 ELK 用户很多其实不是运维,添加这段内容。 办法有很多种,下面介绍四种最常用的办法: 标准的 service 方式 采用 RPM、DEB 发行包安装的读者,推荐采用这种方式。发

  • 问题内容: 我对Docker非常陌生,我想在我的计算机上映射node_modules文件夹(出于调试目的)。 这是我的docker-compose.yml 我在Mac上使用Docker。当我运行时,一切正常,但是它在我的计算机上创建了一个node_modules文件夹,但是它是空的。我进入容器和ls node_modules的仓库,所有软件包都在那里。 我也如何在计算机上的容器中获取内容? 谢谢

  • 如果您使用Docker来运行linkerd,那幺就不需要从GitHub中pull如上一节所述二进制发行包。取而代之的是,Buoyant为您提供以下公共Docker镜像: BUOYANTIO/LINKERD:1.1.3 BUOYANTIO/NAMERD:1.1.3 标签 这两个库都具有每个镜像的所有稳定版本的标签。要查看发行列表和相关改动,请访问 linkerd GitHub release 页面。