我正在阅读使用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
感谢您的帮助!
答案 0 :(得分:0)
我猜测〜无法正确解析。代字号(“〜”)指用户的主目录。通常类似于/home/your_username
。
对于您而言,听起来您的文档仍然不在此目录中。
尝试:
docker run -v Documents/my-documentation/docs/source/_static/css:/docs/source/_static/css -p 80:80 -it my-docu:latest
答案 1 :(得分:0)
我没有要测试的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 run命令的路径时可以安装的路径以及路径格式
docker run --rm -it -w /mnt/vm-root -v /:/mnt/vm-root ubuntu:latest bash