Memasang direktori dari host di boot2docker untuk Windows

11

Saya menjalankan docker 1.6 dan boot2dockerpada kotak Windows 8.1. Ketika saya menggunakan pintasan Boot2Docker Start, saya dibawa ke bash prompt cygwin tempat saya dapat menjalankan perintah buruh pelabuhan secara asli.

Saya mengalami masalah saat memasang direktori dari folder pengguna saya. Saya sudah mencoba:

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

Saya mendapatkan kesalahan:

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'.

Saya mendapatkan hasil yang sama ketika saya menyebutnya seperti ini:

$ 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

Saya juga sudah mencoba:

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

Dan saya mendapatkan kesalahan:

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

Tampaknya seperti bash cygwin menggantikan /dengan \dan kemudian buruh pelabuhan mem-parsing argumen dilewatkan ke -vdan tidak bisa menerimanya.

Paul Oliver
sumber
Pada instalasi boot2docker saya, perintah "ls / c / Users" daftar Windows 8.1 C saya: \ Users folder. Apakah Anda perlu memasang lokasi lain?
Wilson Gibbins
Saya pasti bisa melihat /c/Usersdari boot2docker linux VM (tuan rumah). Tapi saya perlu wadah poliver / bitcoin-abe untuk memasang folder tertentu dari /c/Userspada /datadirtitik pemasangan pada wadah.
Paul Oliver
Saya juga tampaknya mengalami masalah yang sama tidak dapat me-mount folder host. $ 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
Apakah Anda mendapatkan solusi untuk masalah Anda?
Marco
Maaf Marco, belum ada solusi. :(
Paul Oliver

Jawaban:

12

Jika Anda ingin memasang $APPDATApada mesin host Windows Anda ke /datadirwadah buruh pelabuhan, daripada perintah di bawah ini:

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

Anda dapat menerbitkan:

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

//c/Users/PATH_TO_DIR adalah kunci di sini untuk direktori Windows

$APPDATADirektori Anda HARUS berada di /c/Users/Your_User_Namedirektori dan tidak bisa berada di tempat lain. (misalnya D:/$APPDATApada partisi D.)

Xianlin
sumber
6

lihat: https://github.com/docker/docker/issues/12590

Jika Anda menggunakan git bash di windows, msysgit mengubah path seperti / c / users menjadi c: \ users (bukan sesuatu yang Anda inginkan karena path di dalam VM boot2docker adalah / c / Users)

Pada cmd.exe / PowerShell Anda seharusnya tidak mengalami masalah ini.

Lee Yeh
sumber