簡體   English   中英

如何在kubernetes / docker中的容器中掛載單個文件

[英]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 BTommy Nguyen在此Stack Overflow 問題中所指定的:

您可以使用像這樣的subPath將單個文件裝載到現有目錄中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM