Docker内部结构
我已经开始使用Docker,但是我想更好地理解它(更好一点)。 所以,我正在寻找一本书/文章来获取内部信息(在操作系统级别)。 我认为这不是一件容易的事情,但应该比实际的虚拟化更容易。
我要求引用任何书/一篇文章。 我试图find任何书,但我没有find有关Docker内部的东西。
Docker并没有真正的内部 。 它只是一个golang二进制文件,围绕着已经存在于内核中的一些工具,比如:
- cgroups限制应用程序可用资源
- 命名空间来提供与其他容器的隔离
- Union Filesystems提供快速,轻量的存储访问
我会推荐阅读关于这三种技术是如何工作的,然后再试图理解docker是干什么的,因为docker只是为这些技术提供了一个更易于访问的API /命令行工具。
以下是进一步阅读的链接:
https://docs.docker.com/engine/understanding-docker/#/the-underlying-technology
https://www.safaribooksonline.com/library/view/using-docker/9781491915752/ch04.html
作为@Frap链接(命名空间,cgroups,UFS),但也看看docker的存储驱动程序https://docs.docker.com/engine/userguide/storagedriver/selectadriver/
如果你想在引擎盖下高峰,这里有一个不错的项目https://github.com/mhausenblas/cinf
另一部分注意的是docker和存储驱动程序的networking端等docker文档是一个合理的入门这个https://docs.docker.com/engine/userguide/networking/