一. Docker是什么
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源,基于Linux内核的cgroup,namespace,Union FS 等技术,
对应用进程进行隔离,并且独立于宿主机和其他进程,这种运行时封装的状态称为容器。
Docker早起版本是基于LXC,并进一步进行封装,包括文件系统,网络系统,镜像管理等方面,极大简化了容器管理。从0.7版本以后开始,
去除LXC,转为自行研发的libcontainer,从1.11版本开始,进一步演进为使用runC和containerd.
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任何Linux发行版Docker引擎上。使用沙箱机制运行程序,程序之间相互隔离。
二. Docker体系结构
Containerd: 是一个简单的守护进程,使用runC管理容器。向Docker Engine提供接口。
Shim: 只负责管理一个容器。
runC: 是一个轻量级的工具,只用来运行容器。
安装pstree了解一下具体docker层级结构
yum install psmisc -y
docker run -d busybox ping baidu.com
一. 客户端执行(build,pull,run)命令发送到DOCKER_HOST
二. DOCKER_HOST 的守护进程(docker_engine)创建容器
三. 拉取镜像先从本地拉取,如果本地没有会去镜像仓库拉取镜像
如果有问题可以加我微信(baolongsj)共同学习和进步…..