您的位置:首页 > 运维架构 > Docker

Docker简介

2022-05-22 11:15 1251 查看
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
隔离性 安全隔离 完全隔离
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: