Ich verwende Docker 1.6 und boot2docker
eine Windows 8.1-Box. Wenn ich die Boot2Docker-Startverknüpfung verwende, komme ich zu einer Cygwin-Bash-Eingabeaufforderung, in der ich Docker-Befehle nativ ausführen kann.
Ich habe Probleme beim Mounten eines Verzeichnisses aus meinem Benutzerordner. Ich habe es versucht:
$ docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe
Ich bekomme den Fehler:
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'.
Ich erhalte die gleichen Ergebnisse, wenn ich es so nenne:
$ 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
Ich habe auch versucht:
$ docker run -d --name abe -v ~/APPDATA/Bitcoin:/datadir poliver/bitcoin-abe
Und ich habe den Fehler bekommen:
FATA[0000] Error response from daemon: cannot bind mount volume: ~\AppData\Bitcoin volume paths must be absolute.
Es scheint , wie Cygwin bash ersetzt /
mit \
und dann analysiert Docker das Argument übergeben -v
und sie nicht annehmen können.
/c/Users
von der boot2docker Linux VM (dem Host) sehen. Aber ich brauche den poliver / bitcoin-abe-Container, um einen bestimmten Ordner/c/Users
am/datadir
Mount-Punkt des Containers zu mounten.$ 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
Antworten:
Wenn Sie das
$APPDATA
auf Ihrem Windows-/datadir
Hostcomputer anstelle des folgenden Befehls auf dem Docker-Container bereitstellen möchten :Sie können Folgendes ausgeben:
//c/Users/PATH_TO_DIR
ist hier der Schlüssel für das Windows-VerzeichnisIhr
$APPDATA
Verzeichnis MUSS sich im/c/Users/Your_User_Name
Verzeichnis befinden und darf sich nicht an anderen Orten befinden. (zBD:/$APPDATA
auf der D-Partition.)quelle
Siehe: https://github.com/docker/docker/issues/12590
quelle