Docker基础知识

Docker基础知识

图片[1]-Docker基础知识-OMii

什么是Docker?

Docker是一组平台即服务(PaaS) 产品,它使用操作系统级别的虚拟化在称为容器(Container)的包中交付软件。该服务有免费和高级两种。托管容器的软件称为Docker Engine。它于 2013 年首次启动,由Docker, Inc.开发。

Docker容器相互隔离,并捆绑了自己的软件、库和配置文件;他们可以通过明确定义的渠道相互交流。因为所有容器共享单个操作系统内核的服务,所以它们使用的资源比虚拟机少。

Docker 可以将应用程序及其依赖项打包到可以在任何 Linux、Windows 或 macOS 计算机上运行的虚拟容器中。这使应用程序能够在各种位置运行,例如本地、公共或私有云中。在 Linux 上运行时,Docker 使用Linux 内核的资源隔离特性(如cgroups和内核命名空间)和支持联合的文件系统(如OverlayFS)允许容器在单个 Linux 中运行例如,避免启动和维护虚拟机的开销。macOS上的 Docker使用 Linux虚拟机来运行容器。

由于 Docker 容器是轻量级的,单个服务器或虚拟机可以同时运行多个容器。2018 年的一项分析发现,典型的 Docker 用例涉及每台主机运行 8 个容器,四分之一的分析组织每台主机运行18个或更多。

Linux 内核对命名空间的支持主要隔离了应用程序对操作环境的视图,包括进程树、网络、用户 ID 和挂载的文件系统,而内核的 cgroups 为内存和 CPU 提供资源限制。从 0.9 版开始,Docker 包含了自己的组件(称为“ libcontainer ”),以使用 Linux 内核直接提供的虚拟化设施,此外还通过libvirt、LXC和systemd-nspawn使用抽象的虚拟化接口。

Docker 实现了一个高级API来提供独立运行进程的轻量级容器。Docker 容器是标准进程,因此可以使用内核特性来监控它们的执行——例如使用 strace 等工具来观察和调解系统调用。

当然你可以查看百科的说明:什么是Docker?看这一篇干货文章就够了! – 知乎 (zhihu.com)

为什么选择Docker?

迁移性好

很多情况下,你可能需要迁移你的服务。比如VPS性能问题、主机硬件问题……服务商问题等等不确定因素的。那么你的迁移性就比较重要了。在迁移性方面,Docker是不错的选择

Docker容器布署的过程中可以通过volume参数将容器内的目录映射到宿主机的物理目录中。Docker的Volume映射给互联网服务的备份带来很大便利。如果你想换一个好一点的VPS,只需使用scp将整个Docker目录copy过去,再用docker-compose逐个上线互联网服务。甚至可以简单地写一个shell脚本批量上线Docker服务!在上线期间,做域名解等等配置,很快全部互联网服务就满血复活了。Docker切实地降低了维护互联网服务的时间成本

生态圈大

Docker的官方镜像托管在这里:镜像源
Docker Hub 是世界上最大的容器镜像库和社区。浏览来自软件供应商、开源项目和社区的 100,000 多个容器映像。列入他推荐的Nginx、redis、mysql、python之类的诸多应用,这些镜像还有Official的字样,这就意味是服务商官方来维护这个镜像,和生活相关的绝大多数功能在Docker中都已经有了成熟的Images

图片[2]-Docker基础知识-OMii

总体来说,Docker对于个人用户来说确实是一个不错的选择。你不需要学习太多额外的东西;所有的布署流程都是标准化的,即通过docker-compose进行服务的一键布署、下线和更新。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容