Windows 용 boot2docker의 호스트에서 디렉토리 마운트


11

docker 1.6과 boot2dockerWindows 8.1 상자를 실행 중입니다. Boot2Docker Start 바로 가기를 사용하면 docker 명령을 기본적으로 실행할 수있는 cygwin bash 프롬프트가 표시됩니다.

사용자 폴더에서 디렉토리를 마운트하는 데 문제가 있습니다. 난 노력 했어:

$ docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

오류가 발생합니다.

invalid value "C:\\Users\\someone\\AppData\\Roaming/Bitcoin:/datadir"
for flag -v: \Users\someone\AppData\Roaming/Bitcoin:/datadir 
is not an absolute path 
See 'c:\Program Files\Boot2DockeForWindows\docker.exe run --help'.

다음과 같이 호출하면 동일한 결과가 나타납니다.

$ docker run -d --name abe -v "$APPDATA/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v "/c/users/someone/AppData/Roaming/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v ~/AppData/Roaming/Bitcoin:/datadir poliver/bitcoin-abe

나는 또한 시도했다 :

$ docker run -d --name abe -v ~/APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

그리고 나는 오류를 얻었습니다.

FATA[0000] Error response from daemon: cannot bind mount volume: ~\AppData\Bitcoin volume paths must be absolute.

cygwin bash가 교체 /\다음 docker가 전달 된 인수를 구문 분석하여 -v수락 할 수없는 것처럼 보입니다 .


boot2docker 설치에서 "ls / c / Users"명령은 Windows 8.1 C : \ Users 폴더를 나열합니다. 다른 위치를 마운트해야합니까?
Wilson Gibbins

나는 /c/Usersboot2docker 리눅스 VM (호스트)에서 확실히 볼 수 있습니다 . 그러나 컨테이너 /c/Users/datadir마운트 지점 에서 특정 폴더를 마운트하려면 poliver / bitcoin-abe 컨테이너가 필요합니다 .
Paul Oliver

또한 호스트 폴더를 마운트 할 수없는 동일한 문제가 발생하는 것 같습니다. $ docker run -d -v /c/Users/310145787/Desktop/mongo:/data/db mongo invalid value "c:\\Users\\310145787\\Desktop\\mongo;C:\\Program Files (x86)\\Git\\data\\db" for flag -v: \Users\310145787\Desktop\mongo;C:\Program Files (x86)\Git\data\db is not an absolute path
Marco

문제에 대한 해결책을 얻었습니까?
Marco

죄송합니다, 아직 해결책이 없습니다. :(
Paul Oliver

답변:


12

아래 명령 대신 $APPDATAWindows 호스트 시스템을 /datadirdocker 컨테이너에 마운트 하려면 다음을 수행하십시오.

docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

다음을 발행 할 수 있습니다.

docker run -d --name abe -v //c/Users/YOUR_USER_NAME/$APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

//c/Users/PATH_TO_DIR Windows 디렉토리의 열쇠입니다.

귀하의 $APPDATA디렉토리는 반드시 디렉토리에 상주 해야 하며 다른 장소에 상주 /c/Users/Your_User_Name수 없습니다 . (예 : D:/$APPDATAD 파티션)


6

참조 : https://github.com/docker/docker/issues/12590

Windows에서 git bash를 사용하는 경우 msysgit은 / c / users와 같은 경로를 c : \ users로 변환합니다 (boot2docker VM 내부의 경로가 / c / Users이므로 원하는 것이 아님).

cmd.exe / powershell에서는이 문제가 발생하지 않아야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.