Docker简介
作者:互联网
Docker是什么
Docker 是一个用于开发、发布和运行应用程序的开放平台。 Docker 能够将应用程序与基础架构分离,可以像管理应用程序一样管理基础设施。Docker 提供了在容器的隔离环境中打包和运行应用程序的能力。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
Docker架构
Docker 使用客户端-服务器架构。 Docker 客户端与 Docker 守护进程对话,后者负责构建、运行和分发 Docker 容器的繁重工作。 Docker 客户端和守护程序使用 REST API,通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许使用由一组容器组成的应用程序。
- Docker daemon: Docker 守护进程 (dockerd) 监听 Docker API 请求并管理 Docker 对象,例如镜像、容器、网络和卷。守护进程还可以与其他守护进程通信以管理 Docker 服务
- Docker Client: Docker 客户端(docker)是用户与 Docker 交互的主要方式。当你使用 docker run 等命令时,客户端会将这些命令发送给 dockerd,dockerd 会执行这些命令。 docker 命令使用 Docker API。 Docker 客户端可以与多个守护进程通信.
- Docker Desktop: Docker Desktop 包括 Docker 守护程序 (dockerd)、Docker 客户端 (docker)、Docker Compose、Docker Content Trust、Kubernetes 和 Credential Helper
- Docker registries: 用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库
- Images: 软件打包好的镜像;放在docker仓库中
- Containers: 容器是一个镜像的可运行实例。你可以使用Docker API或CLI来创建、启动、停止、移动或删除一个容器。你可以将一个容器连接到一个或多个网络上,为其附加存储,甚至可以根据其当前状态创建一个新的镜像
Docker底层技术
Docker是用Go编程语言编写的,并利用了Linux内核的一些特性来提供其功能。Docker使用一种叫做命名空间的技术来提供称为容器的隔离工作空间。当你运行一个容器时,Docker为该容器创建一组命名空间。这些命名空间提供了一个隔离层。容器的每个方面都在一个单独的命名空间中运行,其访问仅限于该命名空间。
Docker与虚拟机比较
特性 | 容器 | 虚拟机 |
---|---|---|
启动速度 | 秒级 | 分钟级 |
性能 | 接近原生 | 较弱 |
内存代价 | 很小 | 较多 |
硬盘使用空间 | 一般为MB | 一般为GB |
隔离性 | 安全隔离 | 完全隔离 |
标签:容器,隔离,简介,Docker,docker,守护,客户端 来源: https://www.cnblogs.com/crstly/p/16297274.html