LoginSignup
4
8

More than 5 years have passed since last update.

Docker Toolbox利用時においてホストのディレクトリをマウントできない

Last updated at Posted at 2018-12-28

概要

Docker Toolbox利用時において、ホストのディレクトリをマウントできなかった。
Toolboxでは、デフォルトでマウントできるのはC:\Users 配下のみ。
-vオプションを利用して、マウントを指定をし、マウントできなくとも、エラーにはならないため、間違いに気づくのが難しい。
対応としては、C:\Users配下をマウントするか、VMに対して別途設定が必要。

発生エラー

Dドライブ配下のディレクトリをマウント指定してnginxのイメージを起動させた。
コマンド上はエラーが出ずに完了したが、マウントしたフォルダに配置したファイルは見えていなく、正常にマウントされていなかった。

$ docker run --name test-nginx -v /d/dockerTest:/usr/share/nginx/html:ro -p 8080:80 nginx
2018/12/28 01:37:03 [error] 6#6: *1 open() "/usr/share/nginx/html/index.html" failed (2: No such file or directory), client: 192.168.99.1, server: localhost, request: "GET /index.html HTTP/1.1", host: "192.168.99.100:8080"

$ docker stop test-nginx; docker rm test-nginx
test-nginx
test-nginx

$ docker run --name test-nginx -v /d/dockerTest:/usr/share/nginx/html:ro -p 8080:80 nginx ls -l /usr/share/nginx/html
total 0

エラー原因

VMの設定上、C:\Users 配下しか共有設定がされていないから。

対応策

Toolboxで構築されたVM配下の通り、VirtualBoxから見ると共有されているディレクトリは

image.png

よって、対応としては、C:\Users配下をマウントするか、VMに対して別途設定が必要。
今回は以下のように、C:\Users配下をマウントするように設定した。

$ docker run --name test-nginx -v /c/Users/dockerTest:/usr/share/nginx/html:ro -p 8080:80 nginx
192.168.99.1 - - [28/Dec/2018:02:05:23 +0000] "GET /index.html HTTP/1.1" 200 531 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" "-"

参考

Dockerにホストのフォルダをマウントしたい!

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8