microsoft / microsoft/VFSForGit
gvfs mount failing inside Docker container (Windows Server Core 2019)
Open
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.1k
- Forks
- 474
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 8
Description
I am trying to run GVFS inside a Docker container. The install succeeds fine but I am unable to mount any repository.
Dockerfile
FROM mcr.microsoft.com/windows/servercore:1809
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
# Install Git and GvFS
RUN mkdir C:\\Installer
WORKDIR C:/Installer
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; `
Invoke-WebRequest $('https://github.com/microsoft/VFSForGit/releases/download/v1.0.19140.2/Git-2.20.1.vfs.1.1.104.g2ab7360-64-bit.exe') -OutFile 'GitSetup.exe' -UseBasicParsing ;
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; `
Invoke-WebRequest $('https://github.com/microsoft/VFSForGit/releases/download/v1.0.19140.2/SetupGVFS.1.0.19140.2.exe') -OutFile 'GVFSSetup.exe' -UseBasicParsing ;
ADD deployment/docker/git-worker-image/GitSetup.inf C:/Installer/GitSetup.inf
ADD deployment/docker/git-worker-image/GVFSSetup.inf C:/Installer/GVFSSetup.inf
RUN Start-Process -Wait -FilePath C:/Installer/GitSetup.exe -ArgumentList @('/VERYSILENT', '/LOADINF=GitSetup.inf', '/SP-', '/LOG=C:/Installer/setup-git.log', '/SUPPRESSMSGBOXES')
RUN Start-Process -Wait -FilePath C:/Installer/GVFSSetup.exe -ArgumentList @('/VERYSILENT', '/LOADINF=GVFSSetup.inf', '/SP-', '/LOG=C:/Installer/setup-gvfs.log', '/SUPPRESSMSGBOXES')
GVFSSetup.inf
[Setup]
Lang=english
Dir=C:\Program Files\GVFS
Group=(Default)
NoIcons=0
SetupType=full
Components=
Tasks=
GitSetup.inf
[Setup]
Lang=default
Dir=C:\Program Files\Git
Group=Git
NoIcons=0
SetupType=default
Components=
Tasks=
PathOption=Cmd
SSHOption=OpenSSH
CRLFOption=CRLFAlways
On trying to clone I get the following error:
Error: Failed to load ProjectedFSLib.Managed.dll. Ensure that ProjFS is installed and enabled
[2019-05-24 16:08:58 +05:30] Information {"Message":"TryGetIsInboxProjFSFinalAPI: Build number = 17763"}
[2019-05-24 16:09:05 +05:30] Warning {"Area":"ProjFSFilter","getOptionalFeatureResult.Output":"","getOptionalFeatureResu
lt.Errors":"","WarningMessage":"TryEnableProjFSOptionalFeature: Client-ProjFS optional feature is missing"}
[2019-05-24 16:09:05 +05:30] Error {"ErrorMessage":"TryEnablePrjFlt: Failed to install (or enable) PrjFlt"}
[2019-05-24 16:09:05 +05:30] IsNativeLibInstalled {"Area":"ProjFSFilter","system32Path":"C:\\Windows\\system32\\Projecte
dFSLib.dll","existsInSystem32":false,"gvfsAppDirectory":"C:\\Program Files\\GVFS","nonInboxNativeLibInstallPath":"C:\\Pr
ogram Files\\GVFS\\ProjectedFSLib.dll","packagedNativeLibPath":"C:\\Program Files\\GVFS\\ProjFS\\ProjectedFSLib.dll","ex
istsInAppDirectory":false}
[2019-05-24 16:09:05 +05:30] Error {"ErrorMessage":"TryEnablePrjFlt: Native ProjFS library is not installed, did not att
empt to copy library because prjflt service is not running"}
[2019-05-24 16:09:05 +05:30] Error {"ErrorMessage":"IsAutoLoggerEnabled: Failed to find current Start value setting"}
[2019-05-24 16:09:05 +05:30] Error {"ErrorMessage":"TryEnableAutoLogger: Failed to find AutoLogger Start value in regist
ry"}
[2019-05-24 16:09:05 +05:30] Error {"ErrorMessage":"TryEnablePrjFlt: Failed to enable prjflt AutoLogger"}
[2019-05-24 16:09:05 +05:30] TryEnablePrjFlt_Summary {"Area":"EnableAndAttachProjFSHandler","Initial_isPrjfltDriverInsta
lled":false,"Initial_isPrjfltServiceInstalled":false,"Initial_isPrjfltServiceRunning":false,"Initial_isNativeProjFSLibIn
stalled":false,"windowsBuildNumber":17763,"isInboxProjFSFinalAPI":true,"isProjFSFeatureAvailable":false,"Initial_isAutoL
oggerEnabled":false,"isPrjfltDriverInstalled":false,"isPrjfltServiceInstalled":false,"isPrjfltServiceRunning":false,"isN
ativeProjFSLibInstalled":false,"isAutoLoggerEnabled":false}
[2019-05-24 16:09:05 +05:30] EnsurePrjFltHealthy (Stop) {"DurationMs":7579}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Dockerfile and the GVFSSetup.inf and GitSetup.inf files, then review the reported ProjFS and prjflt errors for Windows Server Core build 17763. Reproduce the clone or mount attempt in the container and verify whether ProjFS is available and enabled; done means GVFS can mount a repository successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, powershell
- Domain
- devops, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100