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