Docker是云原生的核心,直接推动了云原生的发展,也是云技术的核心,下面我就重点详解Docker及其原理@mikechen
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
Docker
Docker 是一种基于容器的开源平台技术,用于自动化应用的部署、扩展/和管理。
Docker 最初,它是一个名为 DotCloud 的公司内部项目,成立于 2010 年,后面正式更名为 Docker,并全力推动 Docker 项目的发展。
Docker 的推出,标志着容器技术的标准化、和流行,后面就一发不可收拾,成为云原生的推动者。
Docker ,将应用、及其依赖,封装到一个独立的容器中,使得在任何环境中运行都一致,无需担心环境差异。
并且,Docker 使得开发者、和运维人员,能够更方便地构建、共享、和运行容器化的应用程序。
Docker工作原理
Docker 的架构,主要由以下几个部分组成:镜像、容器、仓库..等。
如下图所示:
Docker 镜像
Docker 镜像:是一个只读的模板,包含:运行应用程序所需的文件、和配置。
列如:代码、运行时环境、库、配置….等。
镜像,是生成容器的基础,类似于虚拟机的快照、或安装包。
镜像是构建容器的基础,使用分层文件系统实现(例如 :UnionFS),提高了存储、和复用效率。
如下图所示:
一个镜像,可以生成多个Docker容器,每个容器都是镜像的独立运行实例。
Docker容器
Docker 容器,是镜像的运行时实例,提供了一个独立、隔离的环境来运行应用程序。
Docker 容器的特点,动态:可以运行、停止、修改…等等。
以及轻量,共享宿主机操作系统内核,占用资源少,这都是Docker容器的最大的优势。
Docker仓库
Docker 仓库(Docker Registry),是一个聚焦存储、和分发 Docker 镜像 的服务。
Docker 仓库,类似于代码版本管理系统的仓库,用于存储和共享容器镜像。
Docker 仓库,可以是公共的(如 :Docker Hub)或私有的(如自建 Registry)。
如下图所示:
Docker Hub,是默认的官方公共仓库,网址:https://hub.docker.com,内含大量预构建镜像,如: nginx, mysql,Java。。。等等。
Docker 仓库,让用户可以轻松下载、或上传镜像。
Docker 的典型工作流程,包括以下步骤:
- 拉取镜像:第一,下载所需的镜像;
- 创建容器:然后,基于镜像启动一个容器实例;
- 运行应用:然后,在容器内运行所需的应用;
- 管理容器:最后,通过命令管理容器的生命周期(列如:启动、停止、删除…等)。
总之,利用Docker容器,可以更好的封装应用、及其依赖,使得应用能够跨平台、和环境一致运行,并且更轻量级。
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
- 最新
- 最热
只看作者