说明:
这篇博文是根据国外的另一篇总结而来,第一个链接为原文,第二个为译文,第三个有几个图挺好
http://blog.flux7.com/blogs/docker/docker-tutorial-series-part-1-an-introduction
原文
http://dockone.io/article/101 译文
https://www.cnblogs.com/SzeCheng/p/6822905.html
http://dockone.io/article/101 译文
https://www.cnblogs.com/SzeCheng/p/6822905.html
一、Docker有三个组件和三个基本元素
1、三个组件
Docker Client:用户界面,它支持用于与Docker Daemon之间的通信
Docker Daemon:运行与主机上,处理服务请求
Docker Index:是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份
2、三个元素
Docker Containers:负责应用程序的运行,包括操作系统、用户添加的文件以及元数据
Docker Images:是一个只读模板,用来运行Docker容器
DockerFile:是文件指令集,用来说明如何自动创建Docker镜像
Docker使用以下操作系统的功能提高效率:
1)Namespaces:充当隔离的第一级。确保容器中运行一个进程而且不能看到货影响容器外的其他进程
2)Control Groups:是LXC的重要组成部分,具有资源核算与限制的关键功能
3)UnionFS:(文件系统)作为容器的构建块。为了支持Docker的轻量级以及速度快的特性,它创建了用户层
二、Docker引擎
Server是一个常驻进程
REST API 实现了client和server间的交互协议
CLI实现容器和镜像的管理,为用户提供统一的操作界面
三、Docker架构
Docker使用C/S架构,Client通过接口与Server进程通信实现容器的构建、运行和发布。client和server可以运行在同一台机器,也可以通过跨主机实现远程通信。
四、步骤
运行任何应用都必须按照以下连个步骤:
1)创建一个镜像文件
2)运行容器
这些操作由Docker client来执行,Docker Client一般指docker命令,Docker Client向Docker Daemon发出请求创建一个镜像,并且向指定容器内要运行的命令
1、创建一个镜像
Docker Image是一个构建容器的只读模板,它包含了容器启动所需的所有信息,包括运行程序和配置数据。每个镜像都源于一个基本的镜像,然后根据Dockerfile中的指令创建模板。对于每个指令,在镜像上创建一个新的层面
一旦镜像创建完成,就可以将它们推送到中央registy:Docker Index。供他人使用,然而,Docker Index为镜像提供了两个级别的访问权限:公有访问和私有访问。
2、运行容器
当容器被启动后,一个读写层会被添加到镜像的顶层。当分配到合适的网络和IP地址后,需要的应用程序就可以在容器中运行了。