2016-09-19 41 views
0

我在Docker上建立了我的第一台生产服务器,但我不确定我的MSQL数据库应该在哪里存活。数据库应该存在于容器之外吗?我之前读过一些文章/帖子,它应该活在外面,所以如果你必须启动一个新的容器或图像,没有任何变化,但我不确定这是否正确。在容器内部或外部有速度/性能差异吗?Docker - 我的MySQL数据库应该在容器的内部还是外部?

回答

1

性能:默认情况下,Docker容器使用虚拟网络接口,请参阅Docker Advanced networking documentation。这只是轻微的速度开销。尽管如此,根据您的预期负载,您可能希望将数据库容器绑定到主机网络,或者根本不需要dockerize您的数据库。

关于数据持久性:如果您使用的是volumes or volume containers,则您的数据位于容器外部,也可以由任何新的容器装载。这里不用担心。

是否使用容器的DB(我认为):这是目前成为时尚,以containerize无国籍和互换应用程序,这意味着你可以简单地扔掉过时的服务和新的容器更换。虽然这对于频繁更新的微服务来说真的很有意义......你是否真的需要这样的服务来进行比较长时间的数据库服务?是的,Docker仍然有助于更快地包含依赖关系和发布内容,但还有其他选择,比如Ansible预配置的虚拟机。最后,它取决于你的用例最简单的方法。

1
  1. 这些都是我们的数据库管理员的职责:

    • 建立并保持着良好的备份和恢复的政策和程序
    • 实施和维护数据库的安全性(创建和维护用户和角色,分配权限)
    • 执行数据库调整和性能监视
    • 执行应用程序调整和性能监视
    • 安装和维护文件和标准
    • 计划的发展和变化(容量规划)

如果我需要这些服务,我使用一个数据库容器之外,由专家主持的。

  1. 如果数据需要被其他应用程序访问,我在容器外部的中央数据库服务器上使用数据库并由专家托管。
相关问题