本地卷名称的docker无效字符
几天前,我在我的新笔记本电脑上安装了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
几个小时在网上搜索后,我终于找到了我一直在寻找。像Wolfgang Blessen在我的问题下面的评论中说的那样,问题确实是一个Windows路径问题。
如果你不想泊坞窗自动转换路径窗口,UNIX,你需要为0的值加COMPOSE_CONVERT_WINDOWS_PATHS环境变量,就像这里解释:link
感谢您挖掘它! 更明确的,这是对我工作: '出口COMPOSE_CONVERT_WINDOWS_PATHS = 1' '码头工人,组成了--build -d' (注:具体选项泊坞窗,撰写不相关) 环境:在Windows 7下的git-bash –
使用git bash和做
export COMPOSE_CONVERT_WINDOWS_PATHS=1
然后执行
docker-compose up -d
错误是否正好在这条线上? -/mnt/code/basic_php/api:/ code/api 您有评论吗? 如果在php –
中切换两个卷,会发生什么情况在所有容器(nginx和php)中的所有卷线上都存在错误 –
UPDATE:没有卷,容器确实运行,但这不是所需的最终结果(我需要用于安装配置和源代码的卷) –