Windows用のboot2dockerでホストからディレクトリをマウントする


11

私はdocker 1.6とboot2dockerWindows 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受け入れられないようです。


boot2dockerのインストールでは、コマンド「ls / c / Users」がWindows 8.1 C:\ Usersフォルダーをリストします。他の場所をマウントする必要がありますか?
ウィルソンギビンズ

/c/Usersboot2docker linux VM(ホスト)から確かに見ることができます。しかし、私はから特定のフォルダをマウントするpoliver /ビットコイン・阿部コンテナが必要/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

以下のコマンドの代わりに、$APPDATAWindowsホストマシンを/datadirdockerコンテナにマウントする場合:

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

Windowsでgit bashを使用している場合、msysgitは/ c / usersなどのパスをc:\ usersに変換します(boot2docker VM内のパスは/ c / Usersなので、必要なものではありません)

cmd.exe / powershellでは、この問題は発生しないはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.