Estou executando o docker 1.6 e boot2docker
em 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 -v
e não pode aceitá-lo.
Responder1
Se você deseja montar $APPDATA
em sua máquina host Windows /datadir
no 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 $APPDATA
diretórioDEVEresidir no /c/Users/Your_User_Name
diretório e elenão poderesidir em outros lugares. (por exemplo, D:/$APPDATA
na 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.