Posted at

Docker for Windows で Shared Drives の設定をせずにホストディレクトリのマウントをしようとするとコンテナ作成の途中で止まってしまう

More than 1 year has passed since last update.

Docker for Windows CE の Version 18.06.1-ce-win73 (19507) を使ってる時の話。


発生する問題

表題通り、Shared Drives の設定をしていないとコンテナ作成の途中でコマンドが止まってしまう。 特に何もメッセージが出てこないので、原因がわからずだいぶ困った。 (昔のバージョンだと 「Shared Drives の設定が必要」 という旨のダイアログが表示されてた気がする。)


具体的には

具体的には、Docker compose で下記のようにホストマシンのディレクトリをボリュームとしてマウントしようとした場合。

version: "3"

services:
foo:
image: mysql:5.6.34
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- ./bar:/bar

docker-compose up が 『Creating foo_bar_1』 みたいな表示で止まってしまう。

あるいは、docker run であれば、docker run -v C:\Users\nobuoka\Documents\bar:/bar -it --rm -e 'MYSQL_ALLOW_EMPTY_PASSWORD=yes' mysql:5.6.34 みたいな感じでコマンドを実行した場合、何も表示されない状態で止まってしまう。


解決方法

単純に Docker for Windows の 「Settings」 の 「Shared Drives」 でドライブの共有を有効にすればよい。