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