簡體   English   中英

如何從已安裝的卷中保留文件並使用該文件創建新容器?

[英]How to keep file from mounted volume and create new container with that file?

我有一個 docker 容器映像,需要我掛載包含特定配置文件的卷,以便該容器正確啟動(此映像不是我可以控制的,而是供應商提供的)。 如果該卷未掛載,則容器將退出,因為找不到該文件。 所以我需要在/host/folder/中放置一個配置文件,然后:

docker run --name my_app -v /host/folder:/container/folder image_id

然后應用程序將在/container/folder/中查找它需要啟動的文件。

我想在/container/folder/使用該文件創建/提交一個新圖像,但是當該文件夾作為卷從主機安裝時, docker cp將無法幫助我做到這一點,據我所知。 我認為,就 docker 而言,復制的文件與掛載卷中的文件沒有什么不同,並且在容器停止時會消失。

我想這樣做的部分原因是因為文件不會被更改,並且默認情況下應該在那里。 另一個原因是我想在 Kubernetes 中運行這個容器,並避免在那里使用持久卷來掛載這些目錄。 我已經研究過使用 configmaps,但我沒有看到如何將它們用於此目的。

如果您可以將文件存儲到ConfigMap中,則可以將文件掛載到卷並在 Kubernetes 中使用它。

我不確定您必須使用的文件類型

ConfigMap會將此文件注入到 POD 的卷中,以便應用程序可以訪問和使用它。

在這種情況下,將不需要 PVC。

您還可以按照這個很好的示例來展示如何將文件掛載到 pod 內的卷中。

或者

另外,我不確定 docker 圖像,但如果您可以使用該 docker 圖像,您可以將文件添加到路徑中,例如:

FROM <docker image>
ADD file ./container/folder/

在這種情況下,您可能需要檢查是否可以使用供應商 docker 映像作為基礎並將文件添加到其中。

暫無
暫無

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

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