繁体   English   中英

如何在 docker 容器和主机之间共享数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM