docker

Docker for Windowsでマウントする

目的

Docker for Windows をWindows10で利用しており、
ubuntuのコンテナを利用中。
ローカルからubuntuコンテナ内のファイルを直接操作したいので、
Dockerのubuntuコンテナ内のディレクトリと
ホストのディレクトリを共有する。

方法

ホスト側のディレクトリを、コンテナ側のディレクトリにマウントする。
docker runでコンテナを作成する際に、-vオプションでマウントできる。

docker run -v {ホスト側ディレクトリ}:{コンテナ側ディレクトリ} -itd --name {コンテナ名} {イメージ名}

実行

$ docker run -v /c/Users/{ユーザディレクトリ}/Documents/workspace:/data/workspace -itd --name ubuntu-aaa ubuntu-image

できない

Kitenaticからコンテナを見ていて、設定はできていそうなのに
ホスト側のファイル(test.txt)がコンテナに現れない。
コンテナ側でファイルを作成してもホスト側に表示されない。

DockerのSettingsを確認

image.png
Shared Drivesで、Cドライブにちゃんとチェックが入っているのを確認し、
もう一度「Apply」をクリック。
Docker自体再起動する。

コンテナ確認

$ docker attach ubuntu-aaa
root #  ls /data/workspace
test.txt

マウントできた!

参考:

Docker for Windowsでホストにマウントできないときの対処法