2 Docker 镜像基础

Docker 镜像可以从docker.io 下载,也可以自己通过Dockerfile来构建镜像,我有时从国外下载镜像时,网速不行,我就改成国内的镜像,修改如下:

# vim /etc/docker/daemon.json 
{ 
"registry-mirrors": ["https://registry.docker-cn.com"] 
}
# systemctl restart docker

或改成(需要到daocloud.io网站注册账户才行):

{
"registry-mirrors":["http://5dddd846.m.daocloud.io"]
}

  

Linux 操作系统由内核空间和用户空间组成。如下图所示:

rootfs----内核空间是 kernel,Linux 刚启动时会加载 bootfs 文件系统,之后 bootfs 会被卸载掉。

用户空间的文件系统是 rootfs,包含我们熟悉的 /dev, /proc, /bin 等目录。

对于 容器的 镜像来说,底层直接用 Host 的 kernel,自己只需要提供 rootfs 就行了,容器是共享主机的kernel。

而对于一个精简的 OS,rootfs 可以很小,只需要包括最基本的命令、工具和程序库就可以了。相比其他 Linux 发行版,CentOS 的 rootfs 已经算臃肿的了,alpine 还不到 10MB。

我们平时安装的 CentOS 除了 rootfs 还会选装很多软件、服务、图形桌面等,需要好几个 GB 就不足为奇了。

 例如 CentOS 7 使用 3.x.x 的 kernel,如果 Docker Host 是 Ubuntu 16.04,那么在 CentOS 容器中使用的实际是是 Host 4.x.x 的 kernel。 

posted on 2018-03-20 13:46  tengq  阅读(247)  评论(0编辑  收藏  举报

导航