[英]Unable to mount volume between host and container in docker
希望你在這些困難時期過得很好。
我是 docker 新手,正在嘗試通過自定義保存在我桌面上名為“website”的文件夾中的 index.html 文件來托管一些簡單的靜態內容。
我的配置:帶有 WSL2 和 docker Docker 版本 19.03.13 的 Ubuntu-20.04,在操作系統版本 10.0.19042 和 Build 19042 的 Windows 10 家庭單語言版本上構建 4484c46d9d。
我拉取了 nginx 的最新圖像,但是當我按照 nginx 的 docker 頁面上的說明嘗試將本地主機卷附加到 nginx 內的 html 文件時,它說
host@HOST:~$ docker run --name website -v /mnt/c/Users/HOST/Desktop/website:usr/share/nginx/html:ro -d -p 8080:80 nginx:latest
docker: Error response from daemon: invalid volume specification: '/run/desktop/mnt/host/wsl/docker-desktop-bind-mounts/Ubuntu-20.04/<container id>:usr/share/nginx/html:ro': invalid mount config for type "bind": invalid mount path: 'usr/share/nginx/html' mount path must be absolute.
See 'docker run --help'.
我試圖對路徑進行故障排除,但找不到圖像在我的計算機上的存儲位置。 我能找到的唯一線索是在 github 論壇中:
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
如果我嘗試將此路徑作為目標容器路徑傳遞,我仍然會收到錯誤消息。
任何幫助是appriciated。
-曼尼
在 Windows 上,路徑必須使用Windows-style semantics
命名。 您不應在路徑前使用前導斜線。
docker run -v c:\Users\[path]:c:\[containerPath]
這是由於 usr 目錄之前缺少 / 引起的。 這是錯誤中指出的內容:
host@HOST:~$ docker run --name website -v /mnt/c/Users/HOST/Desktop/website:usr/share/nginx/html:ro -d -p 8080:80 nginx:latest
docker: Error response from daemon: invalid volume specification: '/run/desktop/mnt/host/wsl/docker-desktop-bind-mounts/Ubuntu-20.04/<container id>:usr/share/nginx/html:ro': invalid mount config for type "bind": invalid mount path: 'usr/share/nginx/html' mount path must be absolute.
See 'docker run --help'.
“類型“bind”的掛載配置無效:掛載路徑無效: 'usr/share/nginx/html'掛載路徑必須是絕對的。”
相反,它應該是:
docker run --name website -v /mnt/c/Users/HOST/Desktop/website:/usr/share/nginx/html:ro -d -p 8080:80 nginx:latest
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.