ลักษณะ
ฉันใช้ Docker เวอร์ชัน 1.12.5 บน Windows 10 ผ่าน Hyper-V และต้องการใช้คอนเทนเนอร์ปฏิบัติการเป็นคำสั่งในพา ธ ปัจจุบัน ฉันสร้างอิมเมจ Docker ที่ทำงานได้ดี แต่ฉันมีปัญหาในการต่อเชื่อมเส้นทางปัจจุบัน แนวคิดคือการสร้างนามแฝงและทำdocker run --rm [...]
คำสั่งเพื่อให้สามารถใช้งานได้ทั้งระบบในไดเร็กทอรีปัจจุบัน
ติดตั้ง
ฉันมีไดรฟ์ E พร้อมโฟลเดอร์ "test" และในนั้นมีโฟลเดอร์ชื่อ "folder on windows host" เพื่อแสดงว่าคำสั่งนั้นใช้งานได้ Dockerfile สร้างไดเร็กทอรี/data
กำหนดเป็น VOLUME และ WORKDIR
มีE:\test
เป็นไดเรกทอรีปัจจุบันใน PowerShell และดำเนินการคำสั่งหางกับเส้นทางแน่นอนฉันสามารถดูเนื้อหาของ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
ปัญหา
ฉันต้องการใช้ไดเร็กทอรีปัจจุบันไม่ใช่สัญกรณ์สัมบูรณ์ ฉันไม่สามารถใช้ pwd ในไดรฟ์ข้อมูลได้เนื่องจากข้อความแสดงข้อผิดพลาดต่างกัน:
พยายามด้วย ($ 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'.
พยายามด้วย / ($ 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'.
ลองใช้ \´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'.
ลองใช้ "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'.
ไวยากรณ์ที่ถูกต้องในการติดตั้งไดเร็กทอรีปัจจุบันเป็นไดรฟ์ข้อมูลใน Docker บน Windows 10 คืออะไร