การติดตั้งไดเรกทอรีจากโฮสต์ใน boot2docker สำหรับ Windows


11

ฉันใช้นักเทียบท่า 1.6 และboot2dockerในกล่อง Windows 8.1 เมื่อฉันใช้ช็อตคัต Boot2Docker Start มันจะพาฉันไปยังพรอมต์ของ cygwin ที่ฉันสามารถเรียกใช้คำสั่งนักเทียบท่าได้

ฉันมีปัญหาในการติดตั้งไดเรกทอรีจากโฟลเดอร์ผู้ใช้ของฉัน ฉันพยายามแล้ว:

$ 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 กำลังถูกแทนที่/ด้วย\จากนั้นนักเทียบท่าจะแยกวิเคราะห์อาร์กิวเมนต์ที่ส่งไป-vและไม่สามารถยอมรับได้


ในการติดตั้ง boot2docker ของฉันคำสั่ง "ls / c / Users" แสดงรายการโฟลเดอร์ Windows 8.1 C: \ Users ของฉัน คุณต้องการติดตั้งตำแหน่งอื่นหรือไม่?
Wilson Gibbins

แน่นอนฉันสามารถดูได้/c/Usersจาก boot2docker linux VM (โฮสต์) แต่ฉันต้องการคอนเทนเนอร์ poliver / bitcoin-abe เพื่อติดตั้งโฟลเดอร์เฉพาะจาก/c/Usersที่/datadirจุดเชื่อมต่อบนคอนเทนเนอร์
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 ยังไม่มีวิธีแก้ปัญหา :(
Paul Oliver

คำตอบ:


12

หากคุณต้องการที่จะติดตั้ง$APPDATAบนเครื่องโฮสต์ Windows ของคุณไปที่/datadirบนภาชนะนักเทียบท่าแทนคำสั่งด้านล่าง:

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:/$APPDATAบนพาร์ติชัน D)


6

ดู: https://github.com/docker/docker/issues/12590

หากคุณใช้ git bash บน windows msysgit จะแปลงพา ธ เช่น / c / users เป็น c: \ users (ไม่ใช่สิ่งที่คุณต้องการเพราะเส้นทางภายใน boot2docker VM คือ / c / Users)

ใน cmd.exe / powershell คุณไม่ควรมีปัญหานี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.