Docker学习

I Docker

来自于百度百科:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

这也太拗口了吧,什么是容器?什么是引擎?其实弄懂虚拟化、沙箱机制就大概有头绪了。

我是学安全的,从OS就开始接触虚拟化和沙箱机制。沙箱就是一个限制应用程序对系统资源的访问的运行环境,提供的环境相对于每一个运行的程序都是独立的,JVM、EVM(以太坊的虚拟机)都是沙箱机制。虚拟化相对而言抽象一些,OS老师说过“将资源虚拟为多个逻辑上的独立资源”,虚拟专用网、VM都是虚拟化的。两者的关系在于:沙箱机制的实现离不开资源的虚拟化。

而Docker就是一种比较新颖的虚拟化技术,相比较于虚拟机,它由更多优势,使用别人的表:

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

接下来就是容器,这个就很少接触了,唯一有印象的就是STL的container,STL是这么解释的“容器(container)用于存放数据的类模板。可变长数组、链表、平衡二叉树等数据结构在 STL 中都被实现为容器。”,Docker的容器也很类似,都是一套模板,STL的容器模板里面存放的是变量和方法,而Docker的容器包含了完整的运行时环境:除了应用程序本身之外,这个应用所需的全部依赖、类库、其他二进制文件、配置文件等,都统一被打入了一个称为容器镜像的包中。通过将应用程序本身,和其依赖容器化,操作系统发行版本和其他基础环境造成的差异,都被抽象掉了。

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

II 三大概念

有了上面基础,理解三个概念就很简单了

  • Image(镜像)
  • Container(容器)
  • Repository(仓库)

镜像是 Docker 运行容器的前提,仓库是存放镜像的场所,可见镜像更是 Docker 的核心。(以下摘自https://blog.csdn.net/bskfnvjtlyzmv867/article/details/81044217

镜像(Image)
镜像,从认识上简单的来说,就是面向对象中的类,相当于一个模板。从本质上来说,镜像相当于一个文件系统。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

容器(Container)
容器,从认识上来说,就是类创建的实例,就是依据镜像这个模板创建出来的实体。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。

仓库(Repository)
仓库,从认识上来说,就好像软件包上传下载站,有各种软件的不同版本被上传供用户下载。镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。
 

III 安装

因为我是Win10,所以就简单说一下Win10安装,这个之前浪费了一晚时间。

1、开启 Hyper-V:单击开始-》控制面板-》程序和功能-》启用或关闭Windows功能-》选中Hyper-V开启

2、下载 Toolbox并安装(https://www.docker.com/get-docker

3、镜像加速,安装完之后,双击运行,进入设置

进行修改

4、运行:

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值