用到的任何一个组件或者软件,不了解其原理,就只会简单的使用,到底是没有掌握提高。比如tomcat,我们没有知道其是有java语言写的servlet容器,能够接收http请求。但是我对方docker的源码及理解就很少了,实际上其必定是有巨大的代码量,但是我们们从原理上理解,从核心代码上理解,删繁就简,应该也没有太多的难度。我们都知道,docker是go语言写的,并且,docker依赖于linux的虚拟容器技术,然后呢?
linux系统中,docker的启动和停止都是使用了systemctl命令,也就是支持systemd,而不是通过docker命令启动的。安装docker后,使用find命令,发现被改变的一些文件:/usr/bin/docker,/usr/lib/docker,/usr/lib/systemd/system/docker.service。这些文件都比较重要。