几天前,我在我的新笔记本电脑上安装了docker。我已经使用了docker一段时间,并且非常了解基础知识。然而,出于某种原因,我一直遇到同样的问题,我希望有人能帮到我。
在我的Windows 10 Home笔记本电脑上安装Docker Toolbox之后,我尝试运行一些我使用docker-compose.yml创建的图像。由于我在Windows上的用户目录中有我的确切名称(C:/ Users / Nick van der Meij)并且该名称包含空格,因此我在Docker Host上添加了一个额外的共享文件夹,从C:/ code到/ mnt / code(这工作)。我已使用this指南进行操作
但是,当我尝试运行docker-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 :(得分:6)
在搜索网络几个小时后,我终于找到了我想要的东西。就像Wolfgang Blessen在我的问题下面的评论中所说,这个问题确实是一个Windows路径问题。
如果您不希望docker自动将路径窗口转换为unix,则需要添加值为0的COMPOSE_CONVERT_WINDOWS_PATHS环境变量,如下所述:link
答案 1 :(得分:0)
使用git bash并执行
@Bean
public Topic topic() {
return new ActiveMQTopic("myTopic");
}
然后执行
export COMPOSE_CONVERT_WINDOWS_PATHS=1
答案 2 :(得分:0)
或者只需使用双反斜杠
winpty docker run -it -v C:\\path\\to\\folder:/mount