浅析Docker架构、原理及实例配置演示

niki 10年前

介绍

 

Docker是一个为开发人员和系统管理员开发、迁移和运行应用程序的平台。应用程序通过Docker打包成Docker Image后,可以实现统一的方式来下载、启动、扩展、删除和迁移,这样方便了应用程序的部署和运维。本文将介绍Docker的主要组件、系统架构和工作原理,并实例演示Docker的一些简单操作。

 

更多信息

 

 

 

 

Docker的主要组件

 

Docker引擎:开源的虚拟化容器技术平台。

Docker Hub:为用户提供共享和管理Docker容器的SaaS服务平台。

 

 

 

 

 

Docker的系统架构

 

Docker采用服务器/客户端模式。Docker客户端通过和Docker Daemon进行交互来新建、运行或者部署Docker容器。用户可以将Docker客户端和Docker Daemon安装在同一个系统上,也可以安装在不同的系统上。Docker客户端通过端口或者RESTful APIDocker Daemon进行通信。

 

Untitled.png

 

Docker daemonDocker daemon运行在一台主机上,终端用户不能直接与Daemon进行交互,只能通过Docker客户端与Docker Daemon进行通信。

 

Docker客户端:终端用户和Docker通信的主要端口。

 

 

 

 

 

Docker的内部结构

 

Docker内部由三部分组成:

 

Docker imagesDocker image是一个只读模板,用于创建Docker容器。Image中可以包含Linux操作系统、Apache或者Web应用程序等等,用户可以下载已经创建好的Docker image,也可以创建Docker image给其他用户使用。

每个image是由很多层组成,Docker通过Union File Systems将这些层绑定在一个image中。每个image都以一个初级image做为基础,然后通过操作指令在这些初级image上添加新层,操作指令可以是运行的命令、添加文件或目录或者创建可用操作环境等。这些操作指令都被保存在Dockerfile文件中。

 

 

Docker registries Docker registries用于保存Docker image,也分公用和私用二种。公用的Docker registry就是Docker Hub,用户也可以创建私有的Docker registry,为其他用户提供Docker images下载。

 

Docker containers:类似于保存VMware虚拟机配置文件的目录,它可以为应用程序运行提供一切要素。Docker Containers可以运行、启动、停止或者被删除,每个container都是隔离的安全应用平台。

 

 

 

 

 

Docker操作演示

 

下面将演示Docker的一些常用操作:

 

 

1、通过命令docker version”查看当前Docker版本。

 

Untitled_1.png

 

 

2、通过命令docker search <string>”Docker Hub上搜索Docker image

 

Untitled_2.png

 

 

3、通过命令docker pull <string>”Docker Hub上下载Docker image

 

Untitled_3.png

 

 

4、通过命令docker run”运行下载image文件,命令格式如下:

 

Docker run <image名称> <需要在image中执行的命令>

 

Untitled_4.png

 

 

5、为Docker容器安装ping工具。

 

Untitled_5.png

 

 

6、通过命令docker ps -l”查看Docker容器ID,然后保存Docker容器配置。

 

Untitled_6.png

 

 

7、在新Docker image上运行ping命令。

 

Untitled_7.png

 

 

8、通过命令docker ps查看所有运行的容器。

 

Untitled_8.png

 

 

9、通过命令docker inspect”查看容器的具体信息。

 

Untitled_9.png

 

 

10、通过命令docker push”将新的image上传到Docker Hub Registry

 

Untitled_10.png




 

应用于

 

 

Docker技术入门

来自:https://community.emc.com/docs/DOC-42054