当前位置: 首页 > 知识库问答 >
问题:

当从linux样式路径转换时,Docker安装的卷将;C添加到windows路径的末尾

姜志行
2023-03-14

在Windows上安装docker映像时,我发现了一些有趣的怪异之处。

我创建了一个.sh脚本,用于挂载project文件夹以运行我们的开发人员环境映像。我想要一个脚本,每个开发人员都可以运行,不管他们的机器。它所做的只是使用当前项目文件夹运行docker

#!/usr/bin/env bash
docker run -it --rm -v D:\my\project\folder:/wkDir $IMAGE_TAG yarn dev

Docker run-it--rm-v$pwd:/wkdir$image_tag纱开发

失败原因:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from 
daemon: Mount denied:
The source path "D:/my/project/folder;C"
doesn't exist and is not known to Docker.

水。什么是;C?它从何而来?

共有1个答案

秋向阳
2023-03-14

所以经过一些额外的挖掘,我发现了这三个线程,与git-bash弄坏docker安装有关:

https://forums.docker.com/t/weird-error-under-git-bash-msys-solved/9210 https://github.com/moby/moby/issues/24029#issuecomment-250412919

当我查阅MingW关于html" target="_blank">git-bash正在使用的路径转换的文档时,我发现了以下语法表:http://www.mingw.org/wiki/posix_path_conversion

其中一个输出格式为:x;x;C:\mingw\msys\1.0\x。请注意其中的;c。如果git-bash试图变得更聪明,填充语法并以这种格式输出路径,这就可以解释了。

解决方案是转义路径转换,使用/作为前缀。因此使用当前工作目录从git-bash运行docker的工作docker命令:

docker run -it --rm -v /${PWD}:/wkDir $IMAGE_TAG yarn dev
 类似资料:
  • 问题内容: 尝试在Windows上安装Docker映像时,我发现了一些有趣的怪异现象。 我创建了一个脚本,该脚本会装载项目文件夹以运行我们的开发人员环境映像。我希望每个开发人员都可以运行一个脚本,而不管他们的计算机如何。它所做的只是在当前项目文件夹下运行docker。 运行正常。现在的计划是从中调用此脚本,因此我希望此脚本相对于当前文件夹起作用。让我们尝试另一个版本。 失败: 笏。有什么和它是在哪

  • 我对docker比较陌生。我想使用一个有卷的数据库来持久化。我在windows 10中。 我想检查在我的机器中创建的卷。 当我运行命令时 因为这是一个windows框,所以我没有文件夹/var/lib/docker/volumes/。windows中的volumn文件夹具体在哪里,以便我可以在需要时备份它。

  • 我想在共享主机中安装laravel,我遵循了这里的步骤https://stackoverflow.com/a/28449523 但是我的资产路径不包括公共目录 而不是这个 我明白了 如何在不更改任何核心类的情况下更改资产文件夹的目录(将public添加到资产)?

  • 我必须制作这个方法。但是我使用linux(xubuntu)。我的EGit路径应该是什么? Egit安装路径错误

  • 问题内容: 我有文件A的绝对路径。 我有一个从文件A的目录到文件B的相对路径。此路径可以并且将使用“ ..”以任意复杂的方式向上移动目录结构。 范例A: 示例B: 我如何结合这两者以获得 最简单的 绝对路径到文件B? 问题答案: 如果我的问题正确,那么您可以执行以下操作:

  • 问题内容: 我想在Linux PATH中添加一个小脚本,因此不必在实际放置在磁盘上的地方实际运行它。 该脚本非常简单,它是关于通过代理赋予apt-get访问权限的,我使它像这样: 然后,我将其保存为apt-proxy.sh,将其设置为+ x(chmod),当我位于该文件所在的目录中时,一切正常。 我的问题是:如何将此 apt-proxy 添加到 PATH, 以便实际上可以将其称为真正的apt-ge