簡體   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