您现在的位置是:课程
【赵强老师】在Docker容器中部署MySQL数据库
2023-05-28 16:09课程 人已围观
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。一个完整的Docker有以下几个部分组成:
-
Docker Client客户端
-
Docker Daemon守护进程
-
Docker Image镜像
-
Docker Container容器
数据库不适合Docker及容器化的原因
首先从数据不安全的角度,即使你要把 Docker 数据放在主机来存储 ,它依然不能保证不丢数据。Docker volumes 的设计围绕 Union FS 镜像层提供持久存储,但它仍然缺乏保证。使用当前的存储驱动程序,Docker 仍然存在不可靠的风险。如果容器崩溃并数据库未正确关闭,则可能会损坏数据。
其次,在 Docker 中打包无状态服务是很酷的,可以实现编排容器并解决单点故障问题。但是数据库呢?将数据库放在同一个环境中,它将会是有状态的,并使系统故障的范围更大。下次您的应用程序实例或应用程序崩溃,可能会影响数据库。
最后,从运行数据库的环境需求、网络,以及隔离性方面,都不适合在Docker中运行数据库。
下一篇:腾讯云视频产品