Açıklama
Windows 10 üzerinde Hyper-V üzerinden Docker 1.12.5 sürümünü kullanıyorum ve mevcut yolda komut olarak konteyner yürütülebilirlerini kullanmak istiyorum. İyi çalışan bir Docker görüntüsü oluşturdum, ancak mevcut yolu bağlamakla ilgili bir sorunum var. Buradaki fikir, bir takma ad oluşturmak docker run --rm [...]
ve mevcut dizinde sistem genelinde kullanılabilmesi için bir komut vermektir.
Kurmak
Bir "test" klasörüne sahip bir E sürücüsüne sahibim ve orada komutun çalıştığını gösteren "windows ana bilgisayarındaki klasör" adlı bir klasörüm var. Dockerfile dizini oluşturur, /data
onu VOLUME ve WORKDIR olarak tanımlar.
Having E:\test
PowerShell mevcut dizin olarak ve mutlak bir yol ile Docker komutu yürütürken, ben içeriğini görebilirsiniz E:\test
:
PS E:\test> docker run --rm -it -v E:\test:/data mirkohaaser/docker-clitools ls -la
total 0
drwxr-xr-x 2 root root 0 Jan 4 11:45 .
drwxr-xr-x 2 root root 0 Jan 5 12:17 folder on windows host
Sorun
Geçerli dizini kullanmak istiyorum, mutlak bir gösterim değil. Farklı hata mesajları nedeniyle birimde pwd kullanamadım:
($ Pwd) ile deniyor
PS E:\test> docker run --rm -it -v ($pwd):/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error parsing reference: ":/data" is not a valid repository/tag.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
/ ($ Pwd) ile deneniyor
PS E:\test> docker run --rm -it -v /($pwd):/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error parsing reference: "E:\\test" is not a valid repository/tag.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
\ ´pwd \ ´ ile deneniyor
PS E:\test> docker run --rm -it -v ´$pwd´:/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: Invalid bind mount spec "´E:\\test´:/data": invalid mode: /data.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
"Pwd" ile deneniyor
PS E:\test> docker run --rm -it -v `$pwd`:/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: create $pwd: "$pwd" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
Geçerli dizini Windows 10'da Docker'da birim olarak bağlamanın doğru sözdizimi nedir?