11

Я использую Docker 1.6 и boot2docker на Windows 8.1. Когда я использую ярлык Boot2Docker Start, я перехожу к приглашению cygwin bash, где я могу запускать команды docker.

У меня проблемы с монтированием каталога из папки пользователей. Я пробовал:

$ 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 и не может его принять.

2 ответа2

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 - /c /Users)

На cmd.exe /powershell у вас не должно быть этой проблемы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .