美文网首页bug消消乐
再会docker:十问十答

再会docker:十问十答

作者: 朝朝Mumu | 来源:发表于2021-05-18 20:55 被阅读0次

    Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。这种关系学过Java的同学很容易理解,就好比Java应用程序与JVM的关系,你只要愉快地编写一次HelloWorldJVM可以保证你四处Say Hi

    北冥有鱼,其名为docker~鲲之大,不知其几千里也

    docker的Logo是大鲸鱼+集装箱:鲸鱼就是docker,货物(应用)都在集装箱里(Container),各种各样的操作系统就是大海。无论是红海还是黑海,docker载着它的集装箱都可以保证货物与世无争。

    1. 问:什么是Docker?
      答:Docker只是一个工具,他可以帮助解决如安装、拆卸、升级、分发、信任和管理软件等常见问题。它是开源的Linux软件。
      Docker包括一个命令行程序、一个后台守护进程,以及一组远程服务。他解决了常见的软件问题,并简化了安装、运行、发布和删除软件。这一切能够实现是通过使用一项UNIX技术,称为容器。
      Docker使用底层技术的是2007年就已经成为Linux一部分的Linux命名空间cgroups。Docker并不提供容器技术,但它使得容器更容易使用。

    我们不生产水,就搬搬。

    1. 问题:容器是不是虚拟化?
      答:容器不是虚拟化。在没有Docker的时代,企业通常使用硬件虚拟化(虚拟机),以提供隔离。
      Docker容器不使用硬件虚拟化。运行在Docker容器中的程序接口和主机Linux内核直接打交道。因为容器中运行的程序和计算机操作系统之间没有额外的中间层,
      没有资源被冗余软件的运行或虚拟硬件的模拟而浪费掉。这是一个很重要的区别。Docker不是一个虚拟化技术,相反,它可以帮助使用已经内置到操作系统中的容器技术。

    2. 问题:什么是操作系统?
      答:从广义上讲,操作系统是所有用户程序和计算机上运行的硬件之间的接口。

    3. 问题:如何运行Docker?
      答:运行Docker可以认为是用户空间运行着的两个程序。
      1、Docker守护进程,这个进程应始终处于运行状态(后厨)。
      2、Docker CLI,它是与用户交互的Docker程序(服务员)。

    4. 问题:Docker构建的容器隔离包括哪8个方面?
      答:这八个方面:
      1、PID命名空间-进程标识符和能力。
      2、UTS命名空间-主机名和域名。
      3、MNT命名空间-文件系统访问和结构。
      4、IPC命名空间-通过共享内存的进程间通信。
      5、NET命名空间-网络访问和结构。
      6、USER命名空间-用户名和标识。
      7、chroot()-控制文件系统根目录的位置。
      8、cgroups-资源保护。
      Linux的命名空间cgroup管理着运行时的容器。Docker采用另一套技术,就像运输集装箱那样来为文件提供容器。

    5. 问题:什么是镜像?
      答:Docker通过一种打包和分发的软件,完成传统容器的封装。这个用来充当容器分发角色的组件称为镜像。
      Docker镜像,是一个容器中运行程序的所有文件的捆绑快照。镜像在Docker生态系统中是可交付的基本单位。

    6. 问题:Docker解决了什么问题?
      答:
      1、组织有序。管理并隔离软件运行的依赖关系。
      2、提高可移植性。可以让应用程序忽略语言、操作系统、运行环境的不同。
      3、保护你的机器。容器限制了一个程序对其他程序带来影响范围、可访问的数据和系统资源的影响范围。

    快速,一致地交付您的应用程序
    响应式部署和扩展
    在同一硬件上运行更多工作负载

    1. 问题:Docker的重要性?
      答:
      1、Docker提供了所谓的抽象。抽象允许你以简化的方式处理复杂的工作。
      2、有一个重要的推广使用容器和Docker的软件社区。
      3、他为PC端所做的像应用商店为你的手机所做的一样。
      4、通过操作系统实现的更好、更先进的隔离功能。

    2. 问题:运行hello_world,背后发生了什么?
      答:docker run dockerinaction/hello_world
      这个例子中发生了好几件事情。
      1、可以使用docker run命令来启动一个容器。该命令触发安装、运行序列,以及暂停在容器中的程序。具体流程如下:
      docker run -->Docker在本机中寻找镜像 --> 判断是否已经安装? --> Docker在Docker Hub上查找镜像 --> 判断是否在Docker Hub上? -->Docker下载该镜像
      --> 在本机中安装该镜像 --> Docker创建一个新的容器并启动该程序 -->容器运行起来了
      2、在容器中运行的程序是dockerinaction/hello_world。这就是所谓的仓库(或镜像)的名称。可以把仓库的名称认为是安装或运行程序的名称(就像“和平精英”)。

    3. 我想试试docker?
      Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
      使用官方安装脚本自动安装,安装命令如下:

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    

    也可以使用国内 daocloud 一键安装命令:

    curl -sSL https://get.daocloud.io/docker | sh
    

    点:docker入门、docker安装
    线:容器化
    面:云计算

    by 暮小七~

    相关文章

      网友评论

        本文标题:再会docker:十问十答

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