Docker Toolbox利用時においてホストのディレクトリをマウントできない
概要
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から見ると共有されているディレクトリは
よって、対応としては、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" "-"
参考
Author And Source
この問題について(Docker Toolbox利用時においてホストのディレクトリをマウントできない), 我々は、より多くの情報をここで見つけました https://qiita.com/gisuyama7/items/e2ed9e76cdbef798b48a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .