2017-04-26 23 views
0

ドッキングコンテナにボリュームをマウントしてから、ディレクトリのシンボリックリンクを作成しようとしていますが、プロトコルエラーが発生します。このドッカー画像/コンテナは私がwindows7上で動作しています。docker内のマウントされたボリュームのlnでプロトコルエラーが表示される

アーチファクトは、ドッカーを実行している間に-vオプションを使用してドッカーにマウントされます。

[email protected]:/artifacts# mkdir a 
[email protected]:/artifacts# mkdir b 
[email protected]:/artifacts# chmod 777 a 
[email protected]:/artifacts# chmod 777 b 
[email protected]:/artifacts# ln -s b a 
ln: failed to create symbolic link 'a/b': Protocol error 
[email protected]:/artifacts# ln -s a b 
ln: failed to create symbolic link 'b/a': Protocol error 

他のフォルダ/ testhereに/ artifactsをコピーして同じことを試みたが、エラーが発生する。

[email protected]:/testhere# mkdir a 
[email protected]:/testhere# mkdir b 
[email protected]:/testhere# ln -s a b 
[email protected]:/testhere# ln -s b a 

この代替ソリューションは、マウントされたフォルダをドッカーコンテナ内の他のフォルダにコピーするオーバーヘッドを増加させます。 誰かがこの問題の解決方法を提案できますか?

答えて

0

ln: Protocol errorは、シンボリックリンクを作成できるようにするためにWindows Dockerホストの管理者でなければならないために発生します(Dockerコンテナにルートしているにもかかわらず)。

Windows 7でDockerを実行している場合は、VirtualBoxに依存するDocker Toolboxを使用していると思います。 次のいずれかを実行できます。管理者として

  • 実行VirtualBoxは、その後、それは、ワンショットかどう
  • または、(あなたが最初のVirtualboxのセッションでは、この既存のVMを追加する必要があります)、そこからあなたのBoot2Docker VMを起動しますコマンドを使用して、Windows Dockerホストのcmdアドミニストレータからmklinkというシンボリックリンクを直接作成すると、Dockerコンテナ内の通常のシンボリックリンクとして認識されます。
関連する問題