zoukankan      html  css  js  c++  java
  • 认识docker

    认识docker

    一 什么是容器?

    官方解释: 容器就是将软件打包成标准化单元,以用于开发,交付部署.

    个人理解: 我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。

    二 什么是docker?

    Docker 是世界领先的软件容器平台。Docke最初实现是基于 LXC.

    docker优点: 性能好,轻量级,启动快.损耗少.(安全性好)

    docker的功能: 它是一个软件打包技术

    docker容器的第一个进程(初始命令)必须要夯住,否则容器会退出.

    docker主要组件: 镜像,容器,仓库,网络,存储
    启动容器必须需要一个镜像,仓库中

    2.1为什么要用docker?

    a.一致的运行环境

    b.启动快

    c.隔离性好

    d.弹性伸缩,快速扩展

    e.迁移方便

    f.持续交付和部署

    三 容器 vs 虚拟机

    特性 容器 虚拟机
    启动 秒级 分钟级
    硬盘使用 一般为MB 一般为GB
    性能 接近原生 弱于原生
    系统支持量 单机支持上千个容器 一般几十个
    隔离级别 隔离不同的应用 彻底隔离整个运行环境

    四 容器和虚拟化的区别

    4.1linux容器技术,容器虚拟化和kvm虚拟化的区别 kvm虚拟化: 需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟级(开机启动流程)

    4.2linux开机启动流程: bios开机硬件自检 根据bios设置的优先启动项boot 网卡 硬盘 u盘 光驱 读取mbr引导 2T UEFI(gpt分区) mbr硬盘分区信息,内核加载路径,
    加载内核 启动第一个进程/sbin/init systemd 系统初始化完成 运行服务(nginx,httpd,mysql) 。。。

    4.3容器启动流程: 共用宿主机内核: 第一个进程直接启动服务(nginx,httpd,mysql)

    4.4容器:共用宿主机内核,轻量级,损耗少,启动快,性能高,只能运行linux系统 虚拟机:需要硬件的支持,需要模拟硬件,需要走开机启动流程,可以运行不同的操作系统

    五 Docker基本概念

    Docker 包括三个基本概念

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

    1567333602469

    简单步骤如下:

    Client 执行 “docker run ....” 这条命令时——> 它会查看本地有没有这个“镜像”(image),如果没有就向“镜像仓库”拉取到本地 ——> 然后将拉取的“镜像”运行起来就叫“容器”。

    不是很恰当举例,仅供个人参考:

    5.1镜像(Image)——一个特殊的文件系统

    Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。

    5.2 容器(Container)——镜像运行时的实体

    容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等

    容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间。前面讲过镜像使用的是分层存储,容器也是如此。

    容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。

    5.3 仓库(Repository)——集中存放镜像文件的地方

    镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry就是这样的服务。

    一个 Docker Registry中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。所以说:镜像仓库是Docker用来集中存放镜像文件的地方类似于我们之前常用的代码仓库。

    六 Build, Ship, and Run

    • Build(构建镜像) : 镜像就像是集装箱包括文件以及运行环境等等资源。
    • Ship(运输镜像) :主机和仓库间运输,这里的仓库就像是超级码头一样。
    • Run (运行镜像) :运行的镜像就是一个容器,容器就是运行程序的地方。

    Docker 运行过程也就是去仓库把镜像拉到本地,然后用一条命令把镜像运行起来变成容器。所以,我们也常常将Docker称为码头工人或码头装卸工,这和Docker的中文翻译搬运工人如出一辙。

  • 相关阅读:
    vue与laravel
    php artisan 命令
    HTTP 状态码
    PhpStorm提高效率的使用方法及设置
    好RESTful API的设计原则
    laravel 入门基础之安装
    c++ sizeof(字符数组)
    new delete/delete[] 测试
    linux g++ 查找动态链接库
    linux下定时器耗时研究
  • 原文地址:https://www.cnblogs.com/longren/p/11444126.html
Copyright © 2011-2022 走看看