アイデアの甕

アイデアを放り込んでおくと甕は腐臭を発しない

【解決】PowerShell上のdocker runで-vオプションが利かなくなった【for Windows 2.3.0.2】

Docker-1

Docker for Windowsを更新。2020-05-11に公開されたDocker Desktop Community 2.3.0.2。

docs.docker.com

どうやら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

この書き換えにより、アップロード前の挙動が再現されました(ただし体感では立ち上がりが数秒遅くなっているような…?)。