我试图在Docker容器(Windows Nano)的上下文中运行Atlassian BitKeeper。主目录存储在容器的上下文之外。因此,它在其中显示为符号链接。
使用符号链接目录中包含的存储库运行git init
会导致错误:
Invalid path '/ContainerMappedDirectories': No such file or directory.
这是关于符号链接的根目录列表部分:
03/09/2017 02:22 PM <SYMLINKD> host [\\?\ContainerMappedDirectories\06928B3D-65E2-4BA6-AADB-7851FD273002]
答案 0 :(得分:3)
我遇到了在Docker容器中运行Jenkins(使用Git)的同样问题。这曾经为我工作,但它在一些Git更新后停止了所以我比较了几个版本,我注意到在容器内工作的最后一个版本是2.11.1。
以下是证明 - C:\ temp是从docker host安装的:
06/06/2017 04:44 PM <SYMLINKD> temp [\\?\ContainerMappedDirectories\3090B08B-4EA2-49CB-8C30-227E982EC311]
尝试2.11.1:
PS C:\Program Files\git\bin> .\git.exe --version
git version 2.11.1.windows.1
PS C:\Program Files\git\bin> .\git.exe init C:\temp\git11.1\
Initialized empty Git repository in C:/temp/git11.1/.git/
尝试2.12.1:
PS C:\Program Files\Git\bin> .\git.exe --version
git version 2.12.1.windows.1
PS C:\Program Files\Git\bin> .\git.exe init C:\temp\git12.1\
fatal: Invalid path '/ContainerMappedDirectories': No such file or directory
与MinGit相同:
PS C:\> .\Min\MinGit-2.13.0-64-bit\cmd\git.exe init C:\temp\MinGitRepo\
fatal: Invalid path '/ContainerMappedDirectories': No such file or directory
PS C:\> .\Min\MinGit-2.11.1-64-bit\cmd\git.exe init C:\temp\MinGitRepo\
Initialized empty Git repository in C:/temp/MinGitRepo/.git/
很难说改变了什么,我将深入研究Git changelog,因为现在使用2.11.1对我来说似乎是一个不错的解决方法。让我知道它是否适合你。