[英]how to share data between docker container and host
我正在阅读使用 docker 的文档文档。 为了自定义它,我想在容器和主机之间共享css
文件夹,以避免总是构建一个新图像来查看更改。 目标是,我可以刷新浏览器并查看更改。
我尝试过这样的事情,但它不起作用:
docker run -v ~/docs/source/_static/css:/docs/source/_static/css -p 80:80 -it my-docu:latest
这个命令有什么问题?
我要分享的文件夹路径是:
Documents/my-documentation/docs/source/_static/css
谢谢你的帮助!
我猜 ~ 不能正确解析。 波浪号(“~”)是指用户的主目录; 通常类似于/home/your_username
。
就您而言,听起来您的文档无论如何都不在此目录中。
尝试:
docker run -v Documents/my-documentation/docs/source/_static/css:/docs/source/_static/css -p 80:80 -it my-docu:latest
我没有要测试的 mac,但我怀疑命令应该如下所示( Documents
是您的主目录内的子文件夹,由~
表示)
docker run -v ~/Documents/my-documentation/docs/source/_static/css:/docs/source/_static/css -p 80:80 -it my-docu:latest
在您的 OP 中,您挂载主机文件夹~/docs/source/_static/css
,如果您的文件位于Documents/my-documentation/docs/source/_static/css
中,这将没有意义,因为它对应于~/Documents/my-documentation/docs/source/_static/css
请记住 Docker 仍在 Mac 上的 VM 内运行,因此您需要提供在该 VM 上有效的主机路径
为了更好地了解情况,您可以做的是启动一个交互式容器,将主机 vm root 的根文件系统挂载到/mnt/vm-root
中。 这样,当您使用-v
标志将它们传递给 docker 运行命令时,您可以查看哪些路径可用于挂载以及应如何格式化它们
docker run --rm -it -w /mnt/vm-root -v /:/mnt/vm-root ubuntu:latest bash
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.