nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

Dockerでホストのフォルダをゲストとシェアする場合にFirewallで弾かれてエラーになる場合の対処方法

ポイントはシェアを許可してエラーになったあと、PCを再起動するだけです。

一応もう少し丁寧に手順を記載しておきます。

バージョンが変更になると事象や対処方法が変わる可能性があります。

環境

  • Windows 10 Professional 1803
  • Docker for Windows Version 18.03.1-ce-win65 (17513)

手順

ホストとゲストでフォルダを共有する設定で、Dockerのインスタンスを起動します。

例えば次のコマンドではAlpine Linuxを起動時にカレントディレクトリをAlpine Linuxの/workというパスでシェアするように指定しています。

docker run -it --rm -v %cd%:/work alpine

すると、画面の右下に次のような通知が表示されます。

f:id:nuitsjp:20180706105330p:plain

ここで「Share It」を選択すると、初回は管理者のアカウントパスワードを求められます。

f:id:nuitsjp:20180706105508p:plain

これでAlpine Linuxが起動するはずなのですが、場合によってはFirewallがどうちゃらとエラーがでてAlpine Linuxが起動できません。起動出来ちゃった環境もあるので詳細は不明です。

エラーが出た後、一度PCを再起動して再度実行すれば正しく動作するはずです。多分。

それでダメだった場合は、Dockerの設定画面を開いてShare Drivesで、シェアしたいドライブを選択し「Apply」を押して「エラーになった後」PCを再起動すればShare設定が有効になります。多分ね。。。

以上です。