bug消消乐

再会docker:十问十答

2021-05-18  本文已影响0人  朝朝Mumu

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 暮小七~

上一篇 下一篇

猜你喜欢

热点阅读