You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mounting a directory and passing the GPU device to docker run permanently modifies a directory path to be unable to have its subpaths renamed.
To Reproduce
Setup and run the container:
#!pwsh.exe
cd ~/Documents
mkdir DockerTest
New-Item DockerTest\test.txt
docker run -it --rm --isolation process -v "$Home\Documents\DockerTest:C:\DockerTest" --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 mcr.microsoft.com/windows/servercore:ltsc2022
Inside the container
cd C:\DockerTest
rename test.txt test2.txt
Observe the error:
The system cannot find the path specified.
The same error occurs under powershell's mv.
Configuration
Edition: Windows 11 21H2 22000.588
Base Image being used: mcr.microsoft.com/windows/servercore:ltsc2022
Container engine: docker
Container Engine version:
Client:
Cloud integration: v1.0.22
Version: 20.10.12
API version: 1.41
Go version: go1.16.12
Git commit: e91ed57
Built: Mon Dec 13 11:44:07 2021
OS/Arch: windows/amd64
Context: default
Experimental: true
Server: Docker Desktop 4.5.1 (74721)
Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.24)
Go version: go1.16.12
Git commit: 459d0df
Built: Mon Dec 13 11:42:13 2021
OS/Arch: windows/amd64
Experimental: false
Additional context
Instead of DockerTest, create a directory DockerTest2, then run the container omitting --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 will show you can correctly rename files inside DockerTest2 this directory from the container.
Now run with --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599. You can no longer rename files inside DockerTest2.
Now run without--device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599. You still cannot rename files inside DockerTest2. It appears some state on the directory has changed.
Delete and recreate DockerTest2. Run without the device. Observe you still cannot rename files inside a seemingly new directory by the same name.
The text was updated successfully, but these errors were encountered:
This one is really mysterious. --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 mounts a few paths like C:\Windows\System32\DriverStore. There is maybe a bug with the code that decides the permissions of the mounted directories, incorrectly marking everything passed as --volume args with the set of permissions that make sense for drivers.
Yep, I haven't had a chance to try your repro yet but my guess was it could be something to do with some of the mounts we have to make to get DirectX acceleration work (since that's the device GUID for GPU sharing). We'll have to investigate but thank you for opening the issue.
@doctorpangloss following your steps I attempted a repro but still everything worked fine (on Windows 11, with process isolation, etc). This is going to be a tricky one to figure out. If you attempt a volume mount with source somewhere other than C:\ drive, do you still hit the issue? Is this issue blocking further development for you?
I am checking to see if there are some logs/traces that could be helpful to gather. I will let you know.
Describe the bug
Mounting a directory and passing the GPU device to
docker run
permanently modifies a directory path to be unable to have its subpaths renamed.To Reproduce
Setup and run the container:
Inside the container
Observe the error:
The same error occurs under powershell's
mv
.Configuration
Additional context
DockerTest
, create a directoryDockerTest2
, then run the container omitting--device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599
will show you can correctly rename files insideDockerTest2
this directory from the container.--device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599
. You can no longer rename files insideDockerTest2
.--device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599
. You still cannot rename files insideDockerTest2
. It appears some state on the directory has changed.DockerTest2
. Run without the device. Observe you still cannot rename files inside a seemingly new directory by the same name.The text was updated successfully, but these errors were encountered: