docker开发环境数据库主要单独一个容器吗

docker开发环境数据库主要单独一个容器吗,第1张

docker开发环境数据库要单独一个容器。docker搭建了lnmp环境后,如果需要访问安装在宿主机上的数据库或中间件,是不能直接使用127001这个ip的,这个ip在容器中指向容器自己,那么应该怎么去访问宿主机呢:例如你的docker环境的虚拟IP是19216899100,那么宿主机同样会托管一个和19216899100同网段的虚拟IP,并且会是主IP:192168991,那么就简单了,在容器中访问192168991这个地址就等于访问宿主机,问题解决注意,通过192168991访问宿主机,等于换了一个ip,如果数据库或中间件限制了本机访问或者做了ip段限制,要记得添加192168991到白名单。

在Docker上搭建高可用MySQL数据库集群有以下几个好处:

高可用性:集群中每个MySQL节点都可以接收读写请求,当一个节点出现故障或宕机时,其他节点可以接替它的工作,确保了数据库的高可用性。

负载均衡:集群中每个MySQL节点可以根据负载情况来分配读写请求,均衡每个节点的负载,提高整个系统的性能和稳定性。

数据备份:集群中的每个节点都可以备份其他节点的数据,确保数据的安全性和完整性,一旦出现数据丢失或者损坏的情况,可以及时进行恢复。

扩展性:集群可以方便地扩展到更多的节点,以适应业务增长和访问量的提高,同时也能够保证系统的性能和可靠性。

总之,使用Docker搭建高可用MySQL数据库集群可以提高系统的可用性、可扩展性和稳定性,同时也能够更好地保护数据安全和完整性。

1数据不安全

即使你要把Docker数据放在主机来存储,它依然不能保证不丢数据。Dockervolumes的设计围绕UnionFS镜像层提供持久存储,但它仍然缺乏保证。

使用当前的存储驱动程序,Docker仍然存在不可靠的风险。如果容器崩溃并数据库未正确关闭,则可能会损坏数据。

2运行数据库的环境需求

常看到DBMS容器和其他服务运行在同一主机上。然而这些服务对硬件要求是非常不同的。

数据库(特别是关系型数据库)对IO的要求较高。一般数据库引擎为了避免并发资源竞争而使用专用环境。如果将你的数据库放在容器中,那么将浪费你的项目的资源。因为你需要为该实例配置大量额外的资源。在公有云,当你需要34G内存时,你启动的实例却必须开64G内存。在实践中,这些资源并未完全使用。

以上就是关于docker开发环境数据库主要单独一个容器吗全部的内容,包括:docker开发环境数据库主要单独一个容器吗、Docker搭建高可用Mysql数据库集群有什么用、数据库真的不适合Docker及容器化吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9854237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存