前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker基础--概念扫盲

Docker基础--概念扫盲

作者头像
河岸飞流
发布2020-02-18 13:58:06
6160
发布2020-02-18 13:58:06
举报
文章被收录于专栏:开发杂记开发杂记

学习使用Docker之前,有必要做一下功课,对相应的概念有一个基本、清晰的了解,这样也有助于帮助自己更好的使用。这篇文章主要介绍以下知识:

  • 什么是容器?
  • Docker是什么?
  • Docker与传统虚拟机对比
  • Docker基本概念扫盲:镜像(Image)、容器(Container)、仓库(Repository)

1、什么是容器?

容器从字面意思理解就是装东西。软件中容器技术一词来源于Linux Container英文单词的直译。

container n. 容器; 集装箱; 货柜

2、什么是Docker?

  • Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
  • Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。
  • Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
3、Docker与传统虚拟机对比
容器VS传统虚拟机
容器VS传统虚拟机

上图比较了Docker和传统虚拟机的不同之处,容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统虚拟机则是在硬件层面实现。 进一步理解: 虚拟机的核心是模拟,模拟CPU,内存和各种硬件,在此基础上安装操作系统才能使用。 容器的核心是隔离,Linux系统扩展了Namespace功能,当启动进程的时候,在某些资源上,可以创建独立的命名空间,处在这个空间内的进程,看到这个资源感觉自己就在新系统中一样,容器可以理解成加了隔离机制的进程。因此它的速度很快。

4、镜像、容器和仓库基本概念及三者间关系
镜像(Image)
  • Docker镜像可以简答理解成Linux的文件系统,这个文件系统包含了可以运行在Linux内核的程序以及相应的数据。
  • 如果了解Linux操作系统的相关知识,也可以把镜像看成是用户空间,当Docker通过镜像创建一个容器的时候,就是把镜像定义好的用户空间作为独立隔离的进程运行在宿主机的linux内核之上。
  • 镜像特征:
    1. 镜像是分层的(Layer):即一个镜像可以多个中间层组成,多个镜像可以共享同一个中间层,也可以通过镜像添加多一层来生成一个新的镜像。
    2. 镜像是只读的(read-only):镜像在构建完成之后,便不可以再修改,而上面说的添加一层构建新的镜像,这中间实际是通过创建一个临时的容器,在容器上增加或删除文件,从而形成新的镜像。
容器(Container)
  • 容器是通过镜像来创建的,生成的容器是一个独立于宿主机的隔离进程,并且有属于自己的网络和命名空间。
  • 镜像是只读的,但容器是可读可写的,这是因为容器是在镜像上面天一层读写层来实现的
仓库

仓库用来存储镜像

三者之间的关系
三者之间关系
三者之间关系

本文参考内容:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、什么是容器?
  • 2、什么是Docker?
  • 3、Docker与传统虚拟机对比
  • 4、镜像、容器和仓库基本概念及三者间关系
    • 镜像(Image)
      • 容器(Container)
        • 仓库
          • 三者之间的关系
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档