栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker是什么?

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker是什么?

一、概述

Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分离,从而实现快速交付软件。借助Docker,您可以以与管理应用程序相同的方式来管理基础架构。通过利用Docker快速交付,测试和部署代码的方法,可以显着减少你从编写代码到在生产环境中运行这些代码之间的时差。

二、重要概念 1. 镜像(Image)

Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、依赖库、资源、配置文件、运行时的配置参数(如:匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

2. 容器(Container)

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义容器只读模板,容器是镜像运行时的具体实体。容器可以被创建、启动、停止、删除、暂停、重、重启等。

容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间(namespace),具有隔离性。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间等。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全,从此再也不用担心本地多个应用需要不同版本的依赖导致的冲突问题了。

3. 仓库(Repository)

镜像构建完成后,一般会在当前宿主机上,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry就是这样一个服务,用来保存镜像。它与我们常用的maven reopsitory是一个类似的东西,只是装的东西不同而已。

每个Docker Registry可以包含多个仓库(Repository),一个仓库可以内可以有同一个软件不同版本的镜像。为了对同一镜像不同版本进行区分,每个镜像都有一个对应的标签(tag)用于标记其版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

4. Docker 架构

Docker使用客户端-服务器架构。主要包含通过Docker客户端(client)和Docker守护进程(daemon)两部分。Docker客户端客户端是许多Docker用户与Docker交互的主要方式,负责与守护进程进行对话。Docker 守护进程则侦听Docker API请求并管理Docker对象(镜像、容器、卷等)。Docker客户端和守护程序可以在同一系统上运行,您也可以将Docker客户端连接到远程Docker守护程序。Docker客户端和守护程序在UNIX套接字或网络接口上使用REST API进行通信。 

另一个Docker客户端是Docker Compose,它使您可以处理由一组容器组成的应用程序。

参考文章:

  1. Docker overview | Docker documentation

  2. 什么是 Docker - Docker —— 从入门到实践

  3. Docker的总架构图 | kubernetes-notes

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/361020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号