docker - 使用 docker-volum 或等效的 Openshift
问题描述
我是 Openshift 的新手。
我正在开发一个系统,以方便使用 openshift 部署我的测试服务器。以前,一位同事为此准备了 3 个 Docker 镜像:一个带有编译器的主镜像。以及其他一些图像。例如 MQ 客户端和 Oracle DB 客户端。
当我们使用 Docker 时,MQ 客户端的存储库的内容被挂载在主机上的一个文件夹中,主镜像也从主机上挂载(同样的方式)这个文件夹:一句话:我们使用“docker volum”。对 Oracle 客户端执行相同的操作。
这里有一张图片来解释: mounted path image with 100% Docker
当我们将自己连接到 Docker 主镜像时:我们可以转到“/opt”文件夹,我们可以看到来自其他竞争者的文件,因此我们可以看到我们的客户端(MQ、Oracle)。因此,我们可以将 MQ 客户端映像重新用于其他项目。
我想将这 3 个映像部署为 Openshift 上的 Pod,但 Openshift(或 k8s)卷似乎非常不同。在 pod 中,我想做与 Docker 相同的事情。
我尝试使用“hostpath”,但它将一个文件夹从“pod”安装到 docker 映像:所以该文件夹是空的,并且 docker 映像中的文件不可用。
我在 openshift 的世界里很新,所以:有人可以说我想做的事情是否可行?无论如何,这是个好主意吗?如果不是,创建我的 Pod 的正确架构是什么?(一个 docker 图像与所有?)
提前致谢,
解决方案
这是跨两个 pod 共享 NFS-share 的示例,但它可以很容易地适应其他共享存储(GlusterFS 等)。不推荐,但在单节点开发/测试的情况下,您可以使用hostpath来共享主机的文件系统。
推荐阅读
- c# - 可以查询 NotMapped 属性吗?
- python - 如何使用 Pandas 中的变量之一绘制堆积条形图?
- angularjs - AngularJS 指令加载控制器
- excel - 保存时excel vba阻止消息“引用未保存的文档”
- c# - 返回语句中的空合并运算符 - c#
- javascript - Sequelize - 如何选择和连接两个表?
- php - 在 Woocommerce 管理员电子邮件通知中显示产品 ACF 值
- c++ - 在业力规则中使用数字生成器时,uint_not_usable_without_attribute 静态断言失败
- java - 在字符串类型的二维数组中添加列和行?
- mule - 使用 MuleSoft 处理批量 API 负载