Docker结构分析
一、简介
初学docker,在这里梳理一下docker的结构以便后续学习。在使用docker时,通常会遇到以下几个概念:容器、镜像,但是因为不清楚其运行机制,很难把握这几个概念之间的关系。为了将docker用好,需要清楚这几个概念之间的关系。
二、容器与镜像
docker提供了对容器的全生命周期的管理:创建—>运行—>停止。也就是说docker可以操作的单元是容器(container)。
在创建容器时,docker把镜像打包在容器内,指定要使用的镜像以及容器的读写空间。镜像应该包含你要运行文件的全部环境。只要有合适的镜像,你可以在另一台机器上安装docker服务,然后将这个容器拷贝至另一台机器并完美运行你之前的文件。
一个容器运行时,它可以在自己的操作空间内对文件进行读写操作。进行读写操作的依据是镜像,镜像提供了读写规则,也是你软件或文件运行的开发环境。
下面附一个docker官方提供的docker架构图进一步说明:
上述的分析大概讲清楚了上图中间这部分。上图左边这部分是在说明docker创建,拉取,运行容器的三个功能。这三个功能与docker的进程管理(Docker deamon)相配合,将镜像推送至容器,容器之间相互隔离,一台机器可以同时运行不同的镜像。也就是,硬件共享,软件隔离。上图右边这部分则给出了一些常用的镜像示例:ubuntu,redis,nginx。这些镜像在dockerhub上都有官方认证。
参考链接:
https://docs.docker.com/engine/images/architecture.svg
https://docs.docker.com/get-started/overview/