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

为什么需要docker

在没有docker之前,我们开发、测试、生产其实是根据不同的服务器进行配置的,很可能因为软件配置不同而导致的生产事故,那么如果能较好的解决软件和配置等封装成一个可运行的软件,无需关注配置,那么是不是就可以减轻开发运维的负担呢。服务器配置环境多份部署。
【云原生】聊聊为什么需要docker以及其基础架构_第1张图片

口号:Build,Ship and Run Any App,Anywhere。 一次镜像,处处运行
【云原生】聊聊为什么需要docker以及其基础架构_第2张图片
Kubernetes事实上的云原生操作系统,是构建现代应用的基石。容器编排技术
【云原生】聊聊为什么需要docker以及其基础架构_第3张图片

基础架构

【云原生】聊聊为什么需要docker以及其基础架构_第4张图片
Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。

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

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

hello world 上路

docker run hello-world

【云原生】聊聊为什么需要docker以及其基础架构_第5张图片
整体流程如下:
【云原生】聊聊为什么需要docker以及其基础架构_第6张图片
其实整体流程就是先从本级查找镜像,如果有直接以镜像运行容器实例。如果没有的话,就从docker hub上查找,没有报错,有的话 进行下载,然后运行。

基本命令

docker version  //查看命令
docker run hello-world //运行hello world
systemctl stop docker  //停止
systemctl start docker  //启动
systemctl restart docker //重启

【云原生】聊聊为什么需要docker以及其基础架构_第7张图片

虚拟机与容器

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

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

  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
  • 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
  • 每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。
    【云原生】聊聊为什么需要docker以及其基础架构_第8张图片

你可能感兴趣的:(#,Docker,云原生,docker,容器)