【解決】PowerShell上のdocker runで-vオプションが利かなくなった【for Windows 2.3.0.2】
Docker for Windowsを更新。2020-05-11に公開されたDocker Desktop Community 2.3.0.2。
どうやらWindows 10 Proだけでなく、Windows 10 Homeでも導入可能になったとかでそれなりに大きなアップデートみたいです。
マウントされないボリューム
アップデート(新規インストール&旧版アンインストール?)は無事終了し、いつも通り「docker run」してみる。
動く。
ただ、いつものコマンドが通らない。
調べてみると、「-v」オプションで指定したvolumeがマウントされずホスト・コンテナ間でのファイルのやり取りができていない。
解決策
普段「docker run」コマンドは直打ちしておらず、PowerShell用のps1ファイルを読み込む形で実行していたのですが、その一部にこのような記載がありました。
-v ~/path/to/file:/file/to/path
ユーザーのホームディレクトリを示す「~」による記述。
どうやらこの記述が(PowerShellを介した「docker run」では)機能しないようになったらしく、フルパスで書けば確かにマウントされることを確認。さらに環境変数?を使用して以下のように書き換え。
-v $HOME/path/to/file:/file/to/path
この書き換えにより、アップロード前の挙動が再現されました(ただし体感では立ち上がりが数秒遅くなっているような…?)。