기술
Hyper-V를 통해 Windows 10에서 Docker 버전 1.12.5를 사용하고 있으며 컨테이너 실행 파일을 현재 경로의 명령으로 사용하고 싶습니다. 잘 실행되는 Docker 이미지를 만들었지 만 현재 경로를 마운트하는 데 문제가 있습니다. 아이디어는 docker run --rm [...]
현재 디렉토리에서 시스템 전체에서 사용할 수 있도록 별칭을 만들고 명령을 수행하는 것입니다.
설정
"test"폴더가있는 드라이브 E가 있고 그 안에 "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'.
Windows 10의 Docker에서 현재 디렉터리를 볼륨으로 마운트하는 올바른 구문은 무엇입니까?