Docker(一):基础概念入门

Docker 概述

现版本的 Docker 相较于较前的老版本,已经有了两个版本:

  • Docker Community Edition (CE,社区版)
  • Docker Enterprise Edition (EE,企业版)

这就像 JavaSE 和 JavaEE,虽然官方区分了标准版和企业版,但我们在实际开发中基本上都使用的是 Java 标准版。所以这里,我们也不需要纠结,选用 Docker CE 版本就够了。

不论是对于企业,还是对于个人,免费永远都是应该被最先考虑的,只有当免费版无法满足我们的需求,或是自己通过对免费版做个性化开发时过于复杂,成本过高,才会考虑直接使用付费的企业版。

我们常说的 Docker 是指 Docker 引擎(Engine),它是一个客户端 - 服务器应用程序,主要组件有:

  • Docker Daemon —— 服务器,Docker 守护进程(dockerd 命令)
  • Docker REST API —— 和 Docker Daemon 交互的 REST API
  • Docker CLI —— 客户端,命令行界面(docker 命令)

Docker Engine 包括 Docker Daemon、Docker REST API 和 Docker CLI

关于 Docker CE

Docker CE 有三种更新渠道:stabletestnightly

  • Stable:提供一般可用性的最新版本
  • Test:在一般可用性之前准备好测试的预发布版本
  • Nightly:用于下一个主版本发布的当日最新构建版本

Docker 能做什么

Docker 能为我们带来以下极其明显的优势:

  • 快速、一致地交付应用程序(容器非常适合持续集成和持续交付(CI(continuous integration) / CD( continuous delivery))工作流程)
  • 响应式部署和扩展
  • 在同一硬件上运行更多工作负载

Docker 架构

Docker 由 Client、Docker Host 和 Registry 三部分组成

Docker 概念

Docker 是开发人员和系统管理员用容器开发、部署和运行应用程序的平台。通过 Docker,我们可以实现容器化

容器化
使用 Linux 容器部署应用程序。

容器化的流行得益于容器:

  • 灵活性:即使是最复杂的应用程序也可以容器化
  • 轻量级:容器能有效利用并共享主机内核
  • 可互换:可以在运行中部署更新和升级
  • 可移植:本地构建,部署到云,在任何地方运行
  • 可扩展:可以增加并自动分发容器副本
  • 可堆叠:可以在运行中堆叠服务

Docker 容器开发、部署和运行应用程序的动画展示图

镜像和容器

首先,我们要知道容器是通过运行镜像来启动的。而镜像容器两个名词,又是我们在 Docker 中最常提及的,故我们需要对这两个名词有个清晰的认识。

镜像
一个可执行包,包含运行应用程序所需的所有内容——代码,运行环境,库,环境变量和配置文件。
容器
是镜像的运行时实例——镜像执行后在内存中的变化(即带有状态的镜像,或用户进程)。

容器和虚拟机

对于刚接触 Docker 的新手来而,我们经常会拿虚拟机来对比容器进行讲解,因为这样更容易入门。并且如果从所提供的功能上面来说,容器和虚拟机确实极其相似,但他们却又存在明显的区别。

容器:在 Linux 上本地运行,并与其他容器共享主机的内核。它运行一个离散的进程,不占用比任何其他可执行程序更多的内存,从而使它变得轻量级。

虚拟机(virtual machine,VM):通过虚拟机管理程序虚拟访问主机资源,以运行一个完整的“客户机”操作系统。通常,VM 提供的环境所占用的资源要比大多数应用程序所需要的资源更多。
容器的组成图      虚拟机组成图

使用 Docker,扩展应用程序只是一个运行新的可执行文件的问题,而不是运行繁重的 VM 主机。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值