容器核心知识:容器是什么;容器解决的问题;Docker 架构(Docker 组件);组件协作过程; info、version
容器是什么
容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。
容器由两部分组成:
1.应用程序本身
2.依赖:比如应用程序需要的库或其他软件
容器与虚拟机的区别:

如图所示:
所有的容器共享同一个 Host OS,这使得容器在体积上要比虚拟机小很多。
启动容器不需要启动整个操作系统,所以容器部署和启动速度更快,开销更小,也更容易迁移。
容器解决的问题
容器使软件具备了超强的可移植能力。
docker特性;容器的优势 ================================================ docker特性: 打包对象:任何软件及其依赖 硬件依赖:容器无需修改便可运行在几乎所有的平台上 -- 虚拟机、物理机、公有云、私有云 隔离性:资源、网络、库都是隔离的,不会出现依赖问题 自动化:提供 run, start, stop 等标准化操作,非常适合自动化 高效性:轻量级,能够快速启动和迁移 职责分工:开发人员只需考虑怎么写代码;运维人员只需关心如何配置基础环境 容器的优势: 对于开发人员 - Build Once, Run Anywhere 对于运维人员 - Configure Once, Run Anything
Docker 架构(Docker 组件)
Docker 的核心组件包括:
1.Docker 客户端 - Client
2.Docker 服务器 - Docker daemon
3.Docker 镜像 - Image
4.Registry
5.Docker 容器 - Container

Docker 采用的是 Client/Server 架构。
Client:最常用的 Docker 客户端是 docker 命令。用户也可以通过 REST API 与服务器通信。
Server:Docker daemon 是服务器组件,以 Linux 后台服务的方式运行。
Docker daemon 运行在 Docker host 上,负责创建、运行、监控容器,构建、存储镜像。
Docker 镜像:可将 Docker 镜像看着只读模板,通过它可以创建 Docker 容器。
Registry :存放 Docker 镜像的仓库,Registry 分私有和公有两种。
Docker Hub(https://hub.docker.com/) 是默认的 Registry,由 Docker 公司维护,上面有数以万计的镜像,用户可以自由下载和使用。
Docker 容器: Docker 镜像的运行实例。
Docker 组件协作过程
docker run -d -p 80:80 httpd
容器启动过程如下:
1.Docker 客户端执行 docker run 命令。
2.Docker daemon 发现本地没有 httpd 镜像。
3.Docker daemon 从 Docker Hub 下载镜像。
4.下载完成,镜像 httpd 被保存到本地。
5.Docker daemon 启动容器。
==================================================
其他:
docker是基于linux container的
linux中称谓的container在内核层面由两个独立的机制保证,一个保证资源的隔离性,名为namespace;一个进行资源的控制,名为cgroup。
docker的各个功能对linux内核的版本要求不同,linux内核版本高于3.8.x,即可以支持全部功能
docker是一个client-server结构的系统,docker的守护进程运行在主机上,通过socket从客户端访问
docker的构成:docker仓库+docker自身组件
docker自身组件:docker client + docker server + docker 镜像
------------------------------
docker info #查看docker信息,需要关注的有version和Storage Driver
docker version
docker --help
docker [command] --help

浙公网安备 33010602011771号