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