[英]How to mount a single file in container in kubernetes/docker
我要在容器中掛載一個文件。 該文件位於conf
文件夾中,該文件夾還包含其他文件,但是我只想掛載的文件是helper.conf
。 在Docker中執行以下操作:
docker run -it -v /path/to/dir/:/path/inside/container --name mycontainer dockerimage
這樣做會引發以下錯誤:
您是否正在嘗試將目錄掛載到文件上(反之亦然)? 檢查指定的主機路徑是否存在以及是否為預期的類型
為了解決這個問題,我在conf
創建了另一個名為config
文件夾,並在下面的行中使用:
docker run -it -v /path/to/dir/config:/path/inside/container --name mycontainer dockerimage
這工作得很好。 kubernetes
也是如此。 是否無法僅從還存在其他文件的目錄中掛載單個文件。 我為此使用了錯誤的關鍵字嗎?
如何在Kubernetes中解決?
答案已由@ Ryan Dawson提供 。
在容器中(在Kubernetes中)安裝單個文件的最佳方法是使用ConfigMap:
ConfigMap允許您將配置工件與圖像內容分離,以使容器化的應用程序具有可移植性。
在這種情況下,可以使用ConfigMap創建資源,這將使我們能夠將配置與容器映像分開。 由於配置是一組鍵值對,因此它將允許將其公開為可放入容器或卷內的環境變量。 創建ConfigMap之后,您將必須創建一個pod,在其中指定一個ConfigMap,以獲取必要的值可以使用它。 根據您的情況,如Joel B和Tommy Nguyen在此Stack Overflow 問題中所指定的:
您可以使用像這樣的subPath將單個文件裝載到現有目錄中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.