美文网首页
Docker简单了解

Docker简单了解

作者: 荒剑离 | 来源:发表于2020-01-12 23:17 被阅读0次

    Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

    区别于需要模拟整台机器包括硬件的虚拟机技术,Linux 容器是 Linux 发展出了另一种虚拟化技术,简单来讲, Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离,相当于是在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。

    如下图所示,每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。而容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户空间以分离的进程运行。


    容器与虚拟机的形象比较

    下表能更加清晰的表述容器相较于虚拟机的优势。

    特性 容器 虚拟机
    启动 秒级 分钟级
    硬盘使用 一般为MB 一般为GB
    性能 接近原生 弱于
    系统支持量 单机支持上千个容器 一般是几十个

    Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。于是有了 Docker ,就不用担心环境问题。

    当然理解Docker,离不开三个基本概念:镜像(Image)、容器(Container)和仓库(Repository)。

    • Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
    • 容器的定义和镜像几乎一模一样,唯一区别在于容器对内容是可读可写的。由于容器的定义并没有提及是否要运行容器,所以实际上,容器 = 镜像 + 读写层。
    • Docker 仓库是集中存放镜像文件的场所。镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry (仓库注册服务器)就是这样的服务。有时候会把仓库 (Repository) 和仓库注册服务器 (Registry) 混为一谈,并不严格区分。Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。实际上,一个 Docker Registry 中可以包含多个仓库 (Repository) ,每个仓库可以包含多个标签 (Tag),每个标签对应着一个镜像。所以说,镜像仓库是 Docker 用来集中存放镜像文件的地方类似于我们之前常用的代码仓库。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。我们可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签.。

    这里只是简单从网友资料[1]中做了一些摘录,还有关于安装过程、常用命令、使用过程等,之后再考虑吧。

    Docker官网
    Docker官方安装
    Docker官方文档
    Docker中文网
    Docker教程

    参考资料

    1. 这可能是最为详细的Docker入门吐血总结

    相关文章

      网友评论

          本文标题:Docker简单了解

          本文链接:https://www.haomeiwen.com/subject/fiiwactx.html