Montando um diretório do host no boot2docker para Windows

Montando um diretório do host no boot2docker para Windows

Estou executando o docker 1.6 e boot2dockerem uma caixa do Windows 8.1. Quando uso o atalho Boot2Docker Start, ele me leva a um prompt do cygwin bash, onde posso executar comandos do docker nativamente.

Estou tendo problemas para montar um diretório da minha pasta de usuários. Eu tentei:

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

Eu recebo o erro:

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

Obtenho os mesmos resultados quando chamo desta forma:

$ 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

Eu também tentei:

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

E recebi o erro:

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

Parece que o cygwin bash está substituindo /e \então o docker analisa o argumento passado -ve não pode aceitá-lo.

Responder1

Se você deseja montar $APPDATAem sua máquina host Windows /datadirno contêiner docker, em vez do comando abaixo:

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

Você pode emitir:

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

//c/Users/PATH_TO_DIR é a chave aqui para o diretório do Windows

Seu $APPDATAdiretórioDEVEresidir no /c/Users/Your_User_Namediretório e elenão poderesidir em outros lugares. (por exemplo, D:/$APPDATAna partição D.)

Responder2

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

Se você estiver usando git bash no Windows, o msysgit converte caminhos como /c/users para c:\users (não é algo que você deseja porque o caminho dentro da VM boot2docker é /c/Users)

Em cmd.exe/powershell você não deveria estar tendo esse problema.

informação relacionada