Sự miêu tả
Tôi đang sử dụng Docker phiên bản 1.12.5 trên Windows 10 thông qua Hyper-V và muốn sử dụng các tệp thực thi vùng chứa làm lệnh trong đường dẫn hiện tại. Tôi đã tạo một hình ảnh Docker đang chạy tốt, nhưng tôi gặp sự cố khi gắn đường dẫn hiện tại. Ý tưởng là tạo một bí danh và thực hiện một docker run --rm [...]
lệnh để nó có thể được sử dụng trên toàn hệ thống trong thư mục hiện tại.
Thiết lập
Tôi có một ổ đĩa E với một thư mục "kiểm tra" và trong đó một thư mục được gọi là "thư mục trên máy chủ windows" để hiển thị rằng lệnh đang hoạt động. Dockerfile tạo thư mục /data
, định nghĩa nó là VOLUME và WORKDIR.
Có E:\test
thư mục hiện tại trong PowerShell và thực thi lệnh Docker với một đường dẫn tuyệt đối, tôi có thể thấy nội dung của 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
Vấn đề
Tôi muốn sử dụng thư mục hiện tại và không phải là một ký hiệu tuyệt đối. Tôi không thể sử dụng pwd trong tập vì các thông báo lỗi khác nhau:
Đang thử với ($ 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'.
Đang thử với / ($ 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'.
Đang thử với \ ´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'.
Đang thử với `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'.
Cú pháp chính xác của việc gắn thư mục hiện tại dưới dạng ổ đĩa trong Docker trên Windows 10 là gì?