(1).docker宿主的理解
docker宿主可以理解为一个最顶层的操作系统,docker本身系统非常精简,甚至只包含linux的内核部分;例如我是win7只能安装Docker Toolbox,安装完成的时候
在VirtualBox中已经创建了一个系统,这个就是宿主机
(2).容器的理解
Docker容器本质上是宿主机上的进程,比如你运行nginx容器,只是相当于在宿主机运行产生一个进程而已
(3).假设容器运行的是ubuntu,docker是如何做到进程和所运行系统的用户组、文件系统隔离的呢?
docker宿主的系统是linux,linux本身提供了一个叫namespace的api,能够提供主机名与域名、信号量、消息队列和共享内存、进程编号、文件管理隔离能力
类似于windows系统的win32api一样,提供操作系统级别的能力。让进程实现隔离。
(4).docker镜像是否包含内核?
docker镜像是不包含内核的,因为容器是运行在宿主机上的进程,因此复用了宿主机的内核.
(5).镜像中有个nginx包,只有一个nginx软件,没有其他依赖到底怎么执行的?
docker的镜像其实都是需要一个基础镜像的,一般是Alpine操作系统,运行nginx的时候依赖于这个基础镜像
(6).宿主机怎么进去?
我这里是直接运行VirtualBox的宿主机系统,免登陆即可进入宿主系统,可以配置ssh管理宿主机。很方便的修改容器的配置信息。