• 【云原生】聊聊为什么需要docker以及其基础架构


    为什么需要docker

    在没有docker之前,我们开发、测试、生产其实是根据不同的服务器进行配置的,很可能因为软件配置不同而导致的生产事故,那么如果能较好的解决软件和配置等封装成一个可运行的软件,无需关注配置,那么是不是就可以减轻开发运维的负担呢。服务器配置环境多份部署。
    在这里插入图片描述

    口号:Build,Ship and Run Any App,Anywhere。 一次镜像,处处运行
    在这里插入图片描述
    Kubernetes事实上的云原生操作系统,是构建现代应用的基石。容器编排技术
    在这里插入图片描述

    基础架构

    在这里插入图片描述
    Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。

    解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

    整体流程: 我们本地安装的其实是docker client,他会与Docker Engine的后台服务 Docker daemon通信,而镜像存储在远端的仓库Registry里,客户端不能直接访问镜像仓库。
    所以实际上管理镜像、容器的是Docker daemon,进行从远端拉镜像,本地存储镜像,生成容器,管理容器等所有功能。

    hello world 上路

    docker run hello-world
    
    • 1

    在这里插入图片描述
    整体流程如下:
    在这里插入图片描述
    其实整体流程就是先从本级查找镜像,如果有直接以镜像运行容器实例。如果没有的话,就从docker hub上查找,没有报错,有的话 进行下载,然后运行。

    基本命令

    docker version  //查看命令
    docker run hello-world //运行hello world
    systemctl stop docker  //停止
    systemctl start docker  //启动
    systemctl restart docker //重启
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    虚拟机与容器

    虚拟机其实是直接在操作系统上构建的一个操作系统,但是因为虚拟机的缺点:资源占用多,冗余步骤多,启动慢。

    比较了 Docker 和传统虚拟化方式的不同之处:

    • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
    • 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
    • 每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。
      在这里插入图片描述
  • 相关阅读:
    计算机算法分析与设计(3)---循环赛日程表(含代C++码)
    建立Logistic模型进行分析--课后习题3(多元统计分析)
    TCP/IP Illustrated Episode 10
    docker 安装 gitlab 访问不了
    golang 使用python脚本将pdf文件转为png图片
    Python股票量化投资课学习—小市值策略测试
    2021.06青少年软件编程(Python)等级考试试卷(二级)
    服务器代码上云过程
    【计算机视觉40例】案例27:人脸检测
    2023年中国石质瓷市场供需现状及行业发展趋势分析[图]
  • 原文地址:https://blog.csdn.net/jia970426/article/details/133247126