2016-12-30 59 views
3

几天前,我在我的新笔记本电脑上安装了docker。我已经使用了docker一段时间,并且非常了解基础知识。然而,由于某种原因,我一直遇到同样的问题,我希望这里有人能帮助我。本地卷名称的docker无效字符

在我的Windows 10 Home笔记本电脑上安装Docker Toolbox后,我尝试运行一些使用docker-compose.yml创建的图像。由于我的Windows用户目录中有我的确切名称(C:/ Users/Nick van der Meij),并且该名称包含空格,因此我在Docker主机上添加了一个从C:/ code到/ mnt/code的额外共享文件夹(这工作)。我用this指导这样做

然而,当我尝试运行我的泊坞窗,compose.yml(包含下面),我收到以下错误:

ERROR: for php Cannot create container for service php: create \mnt\code\basic_php\api: "\\mnt\\code\\basic_php\\api" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed 
[31mERROR[0m: Encountered errors while bringing up the project. 

据我看到它根据有关数量的官方码头文档,一切似乎都是正确的。我花了很多时间试图解决这个问题,并尝试使用多个“格式”作为卷标,但没有取得任何成功。

有谁知道这个问题可能是什么?

在此先感谢!

泊坞窗,compose.yml

version: '2' 
services: 
    mysql: 
     image: mysql:5.7 
     ports: 
      - 3306 
     volumes: 
      - /var/lib/mysql 
     restart: always 
     environment: 
      MYSQL_ROOT_PASSWORD: password 
      MYSQL_USER: user 
      MYSQL_PASSWORD: password 
      MYSQL_DATABASE: database 
    nginx: 
     image: nginx:1.10.2 
     ports: 
      - 80:80 
      - 443:443 
     restart: always 
     volumes: 
      - /mnt/code/basic_php/nginx/conf:/etc/nginx/conf.d 
      - /mnt/code/basic_php/api:/code/api 
      - /mnt/code/basic_php/nginx:/code/nginx 
     links: 
      - php 
      - site 
     depends_on: 
      - php 
      - site 
    php: 
     build: php 
     expose: 
      - 9000 
     restart: always 
     volumes: 
      - /mnt/code/basic_php/php/conf/php.ini:/usr/local/etc/php/conf.d/custom.ini 
      - /mnt/code/basic_php/api:/code/api 
     links: 
      - mysql 
    site: 
     restart: always 
     build: site 
     ports: 
      - 80 
     container_name: site 
+0

错误是否正好在这条线上? -/mnt/code/basic_php/api:/ code/api 您有评论吗? 如果在php –

+0

中切换两个卷,会发生什么情况在所有容器(nginx和php)中的所有卷线上都存在错误 –

+0

UPDATE:没有卷,容器确实运行,但这不是所需的最终结果(我需要用于安装配置和源代码的卷) –

回答

4

几个小时在网上搜索后,我终于找到了我一直在寻找。像Wolfgang Blessen在我的问题下面的评论中说的那样,问题确实是一个Windows路径问题。

如果你不想泊坞窗自动转换路径窗口,UNIX,你需要为0的值加COMPOSE_CONVERT_WINDOWS_PATHS环境变量,就像这里解释:link

+1

感谢您挖掘它! 更明确的,这是对我工作: '出口COMPOSE_CONVERT_WINDOWS_PATHS = 1' '码头工人,组成了--build -d' (注:具体选项泊坞窗,撰写不相关) 环境:在Windows 7下的git-bash –

0

使用git bash和做

export COMPOSE_CONVERT_WINDOWS_PATHS=1 

然后执行

docker-compose up -d 
相关问题