Docker 基础
Posted loveer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 基础相关的知识,希望对你有一定的参考价值。
Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从Apache2.0协议开源,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker 架构
Docker 使用客户端-服务器 (C/S) 架构模式
。Docker 容器通过 Docker 镜像来创建。容器与镜像
的关系类似于面向对象编程中的对象与类
。
一个完整的Docker有以下几个部分组成:
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器
容器技术简介
传统虚拟机,如 VMware , VisualBox 之类的需要模拟整台机器包括硬件
,每台虚拟机都需要有自己的操作系统
。每一台虚拟机包括应用
,必要的二进制和库
,以及一个完整的用户操作系统
。
容器技术是与宿主机共享硬件资源及操作系统
,可以实现资源的动态分配。容器包含应用和其所有的依赖包
,但是与其他容器共享内核
。
容器技术是实现操作系统虚拟化的一种途径,可以让您在资源受到隔离的进程中运行应用程序及其依赖关系
。
Docker Client(客户端)
它其实就是 Docker 提供命令行界面 (CLI) 工具,是许多 Docker 用户与 Docker 进行交互的主要方式。客户端可以构建,运行和停止应用程序,还可以远程与Docker_Host进行交互。最常用的 Docker 客户端就是docker 命令
,我们可以通过 docker 命令很方便地在 host 上构建和运行 docker 容器
。
Docker daemon(服务端)
Docker daemon 是服务器组件,以 Linux 后台服务的方式运行,是 Docker 最核心的后台进程,我们也把它称为守护进程
。Docker Daemon 运行在 Docker host 上,负责创建、运行、监控容器
,构建、存储镜像
。该进程会在后台启动一个 API Server ,负责接收由 Docker Client 发送的请求,接收到的请求将通过Docker daemon 内部的一个路由分发调度,由具体的函数来执行请求。
Image(镜像)
Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置
等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)
。镜像不包含任何动态数据
,其内容在构建之后也不会被改变。
Container (容器)
Docker 容器就是 Docker 镜像的运行实例,是真正运行项目程序、消耗系统资源、提供服务的地方。
Repository (仓库)
Docker 仓库是集中存放镜像文件的场所。
参考博文
以上是关于Docker 基础的主要内容,如果未能解决你的问题,请参考以下文章