Deskripsi
Saya menggunakan Docker versi 1.12.5 di Windows 10 melalui Hyper-V dan ingin menggunakan container executable sebagai perintah di jalur saat ini. Saya membuat image Docker yang berfungsi dengan baik, tetapi saya memiliki masalah untuk memasang jalur saat ini. Idenya adalah untuk membuat alias dan melakukan docker run --rm [...]
perintah sehingga dapat digunakan di seluruh sistem di direktori saat ini.
Mempersiapkan
Saya memiliki drive E dengan folder "test" dan di sana folder bernama "folder on windows host" untuk menunjukkan bahwa perintah tersebut berfungsi. Dockerfile membuat direktori /data
, mendefinisikannya sebagai VOLUME dan WORKDIR.
Memiliki E:\test
direktori saat ini di PowerShell dan menjalankan perintah Docker dengan jalur absolut, saya dapat melihat konten dari 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
Masalah
Saya ingin menggunakan direktori saat ini dan bukan notasi absolut. Saya tidak dapat menggunakan pwd dalam volume karena pesan kesalahan yang berbeda:
Mencoba dengan ($ pwd)
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'.
Mencoba dengan / ($ pwd)
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'.
Mencoba dengan \ ´pwd \ ´
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'.
Mencoba dengan `pwd`
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'.
Apa sintaks yang benar untuk memasang direktori saat ini sebagai volume di Docker pada Windows 10?