Встановлення каталогу з хоста в boot2docker для Windows


11

Я працюю докер 1.6 і boot2dockerна вікні Windows 8.1. Коли я використовую комбінацію клавіш Boot2Docker Start, він переносить мене на підказку 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 Баш змінює /з , \а потім докер розбирає аргумент , який передається -vі не може прийняти його.


У моїй установці boot2docker команда "ls / c / Users" перераховує мою папку Windows 8.1 C: \ Users. Чи потрібно монтувати інші місця?
Вілсон Гіббінс

Я, безумовно, бачу /c/Usersз boot2docker linux VM (хост). Але мені потрібно poliver / Bitcoin-ABE контейнер для монтування папки з конкретною /c/Usersна /datadirточки монтування на контейнері.
Пол Олівер

Я також, мабуть, зіткнувся з тією ж проблемою, що не може встановити хост-папку. $ 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
Марко

Ви отримали рішення своєї проблеми?
Марко

Вибачте, Марко, рішення поки немає. :(
Пол Олівер

Відповіді:


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/isissue/12590

Якщо ви використовуєте git bash у Windows, msysgit перетворює такі шляхи, як / c / користувачів, в c: \ користувачів (не те, що вам потрібно, тому що шлях у VM boot2docker - / c / Users)

У cmd.exe / powershell у вас не повинно виникнути цієї проблеми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.