【问题标题】:Running Oracle database as a docker container in Kubernetes在 Kubernetes 中将 Oracle 数据库作为 docker 容器运行
【发布时间】:2018-02-08 06:58:52
【问题描述】:

我实际上是 Kubernetes 的新手,我正在通过在本地桌面上安装 minikube 来学习 Kubernetes。可能是我不知道,但我想向专家提出这个问题

这就是我想要实现的目标。我在本地环境中创建了 3 个 docker 容器。 2 个基于 java web 的应用程序(app1,app2)docker 容器和 1 个 oracle 数据库容器(oracleDB)。

app1 应用程序依赖于 oracleDB。我在本地环境中安装了 minikube 来试用 Kubernetes。

我能够在 minikube 中部署我的应用程序 app1、app2 和 oracleDB 并启动应用程序,并且还能够使用 http://local_minikube_ip:31213/app1 之类的 URL 访问这些应用程序

几个小时后,我的应用没有响应,所以我不得不重新启动 minikube。当我重新启动 minikube 时,我发现我丢失了导入到 oracle docker 容器中的数据库。我不得不重新导入数据库并通过 ssh 进入 app1 并启动 app1 和 app2 容器。

所以我想知道每个人如何处理这种情况?无论如何我可以在 Kubernetes 重新启动期间维护 oracle 数据库容器中的数据吗?

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: oracle docker kubernetes minikube


    【解决方案1】:

    对于数据持久性,您需要在 POD 中定义 Volumes,它通常与 Persistent Volume ClamsPersistent Volumes 一起完成。

    查看https://kubernetes.io/docs/concepts/storage/volumes/https://kubernetes.io/docs/concepts/storage/persistent-volumes/ 以更好地了解如何实现这一目标

    【讨论】:

    • 感谢您的信息。我实际上正在研究 Kubernetes 中的 Volumes 概念。我认为 Volume 与 Docker 相同,但事实并非如此。正如您所指出的,我猜我需要的是持久量声明。但我需要阅读整个文档以确认。
    猜你喜欢
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 2019-07-26
    • 1970-01-01
    • 2018-06-01
    • 2013-09-01
    • 2019-11-01
    相关资源
    最近更新 更多