Docker(Docker for Mac)にファイルをマウント出来なくなったときの解決法を紹介します。
使用しているバージョン
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H1217
$ docker --version
Docker version 20.10.6, build 370c289
$ docker-compose --version
docker-compose version 1.26.0, build d4451659
Docker Volumeの使用方法については、以下のドキュメントにまとまっています。
ヘルプは以下のようになっています。
$ docker run --help
# snip...
--mount mount Attach a filesystem mount to the container
-v, --volume list Bind mount a volume
--volume-driver string Optional volume driver for the container
--volumes-from list Mount volumes from the specified container(s)
Mac側の/var/tmp
ディレクトリを、Docker側の/pwd
マウントしてみます。
$ pwd
/var/tmp
$ ls -l
total 0
drwxr-xr-x 2 root wheel 64 6 10 23:12 KindlePreviewerUpdater/
drwxr-xr-x 4 root wheel 128 5 28 09:33 com.paceap.eden.licensed/
srw-r--r-- 1 root wheel 0 5 28 09:33 filesystemui.socket=
$ docker container run --rm -it -v $PWD:/pwd:rw alpine
/ # ls /pwd/
/ #
Docker側の/pwd
ディレクトリにファイルがなく、マウントができておりません。
Docker for Macの設定を開き、「Preference > Resources > FILE SHARING」から/var/tmp
を追加しました。
Docker for Macでは、上記で設定したディレクトリしかマウントする事ができません。