目录

前言

一、Docker是什么?

二、虚拟机 (Virtual Machine)

三、容器(Container)

五、Docker能帮开发者做什么?

六、Docker 的缺点?

七、写在最后


前言

云原生架构离不开微服务,容器,Kubernetes  (谐音:k8s )等技术的支撑,当下很火的容器 Docker 到底是什么,它又能为开发者带来哪些便利呢?

一、Docker是什么?

口号:一次创建或配置,可以在任意地方正常运行

Docker是一个开源软件,也是一个开放平台,它用于开发应用、交付应用、运行应用。

Docker允许用户将基础设施中的应用单独分割出来,形成更小的部分容器,从而提高软件交付速度。

二、虚拟机 (Virtual Machine)

虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在实体计算机中能够完成的工作在虚拟机中都能够实现。

在计算机创建虚拟机时,会将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存,每个虚拟机都有独立的硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。

虚拟机会消耗大量系统资源和开销,尤其是当多个虚拟机在同一物理服务器上运行时,每个虚拟机都有自己的子操作系统,大量精力以及资源被用于虚拟化的部署和运行上。

三、容器(Container)

容器类似于虚拟机,只是容器不是完整的操作系统,容器通常只包含必要的操作系统包和应用程序。它们通常不包含完整的操作系统或硬件虚拟化,这就是它们“轻量级”的原因。

Docker 可以尽可能轻松地创建和使用容器。

四、容器 VS 虚拟机
相比之下,每个容器均共享同一主机操作系统或系统内核,非常轻巧,通常只有数 MB ,这意味着容器可能只需几秒钟即可启动,而虚拟机则需要数 GB 和数分种。

特性 容器 虚拟机
隔离级别 进程级别 操作系统级别
系统资源 0~5% 5~15%
镜像大小 kb~MB GB~TB
启动时间 秒级 分钟级
集群规模 上万 上百
高可用策略 弹性,负载,动态 备份,容灾,迁移

五、Docker能帮开发者做什么?

为什么要使用Docker,它能为开发者带来哪些便利呢?

5.1 更高效的利用系统资源
Docker对系统资源的利用率更高,因为容器不用硬件虚拟以及运行完整操作系统等额外开销,无论是应用执行速度、内存损耗或者文件的存储速度,都要比传统虚拟机技术更高效,因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。

5.2 更快的启动时间
传统的虚拟机技术启动应用服务往往是分钟级别的,而Docker由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间,大大的节约了开发、测试、部署的时间。

5.3 更轻松迁移
Docker确保了执行环境的一致性,使得应用的迁移更加容易,Docker可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的。因此用户不用担心运行环境的变化导致应用无法正常运行的情况。

5.4 一致的运行环境
开发过程中常见的问题是环境一致性问题,由于开发测试生产环境不一致,导致有些bug没能在开发过程中被发现,而 Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 代码在我机器上能跑,这不怪我啊 这类问题。

5.5 持续交付和部署
对开发和运维(DevOps)来说,最希望的就是一次创建或配置,可以在任意地方正常运行,使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。
……

六、Docker 的缺点?

Docker本身非常适合用于管理单个容器。但随着您开始使用越来越多的容器和容器化应用,并把它们划分成数百个部分,很可能会导致管理和编排变得非常困难。

你需要对容器实施分组,以便跨所有容器提供网络、安全等服务,于是 Kubernetes  (谐音:K8s)应运而生。

七、写在最后

开发者,读到这里,相信你对Docker有了清晰的认识,接下来就是深入学习这门技术了,别忘了三连支持博主呀~ 我是小周,期待你的关注~

【K8s】什么是Docker和K8S(Kubernetes)相关推荐

  1. java基础巩固-宇宙第一AiYWM:为了维持生计,架构知识+分+微序幕就此拉开之Docker(Docker概念:容器、镜像、仓库)、操作命令、Docker网络、分层、K8S<->Docker~整起

    架构知识+分+微序幕就此拉开之Docker 一.为什么要搞这个Docker,咱们为啥要学,盖房子? 二.Docker的镜像与容器 1.预备知识:虚拟(机).容器(化) 2.Docker.镜像.容器 3 ...

  2. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  3. 云计算:OpenStack、Docker、K8S(Kubernetes容器编排工具)的演进史 | 附推荐阅读

    目录 引子 OpenStack 的诞生 OpenStack 是什么 Docker 的出现 K8S(Kubernetes) - 为 Docker 而生 推荐阅读 引子 作为一名程序员,设计程序架构.优化 ...

  4. docker、k8s 简介

    2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫"dotCloud"的公司. 这家公司主要提供基于PaaS的云计算技术服务.具体来说,是和LXC有关的容器技术. LXC, ...

  5. 干货满满!10分钟看懂Docker和K8S(转)

    转载地址:https://my.oschina.net/jamesview/blog/2994112 2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫"dotCloud" ...

  6. docker和k8s发展史--理解oci/cri/cni/docker swarm/containerd/runc/dockershim

    1. docker和k8s的爱恨情仇 1.1 PaaS的普及和难点 2013年,伴随着 PaaS 概念的逐步普及,以 Cloud Foundry 为代表的经典 PaaS 项目,开始进入基础设施领域的视 ...

  7. docker swarm k8s比较_Docker 图形化管理又有更新了

    1. 前言 您是否还在命令行窗口中来监视 Docker 容器?乐此不彼地敲着 Docker 相关的命令,虽然这些命令并不是很复杂.今天介绍几款 Docker 的 GUI 监视工具来解放你的双手,把它们 ...

  8. 分享一个很香的k8s.gcr.io Docker镜像拉取方法

    经常k8s.gcr.io ,quay.io之类的国外镜像拉取不过来,那怎么办呢? 本文安利一种使用github action拉取镜像推送到Dockerhub的方法.推送好了之后,自己拉取镜像retag ...

  9. docker及k8s容器面试精华汇总(一),祝大家顺利通过企业面试!

    docker及k8s容器面试精华汇总,希望可以加深大家对容器的理解,祝大家顺利通过企业面试. 一.如何在 Kubernetes 中实现负载均衡? node中有kube-proxy,他可以提供负载均衡. ...

  10. 解惑篇|Docker和 K8s 到底啥关系?想学K8s,必须得先学 Docker 吗?

    想学K8s,必须得先学会 Docker 吗?这是很多网友在开始琢磨着想要学 K8s 的时候都会冒出来的想法.那么今天我们就跟大家说说这个话题,要回答这个问题,我们需要先搞清楚 Docker 和 K8s ...

最新文章

  1. DEDE 5.7分类联动BUG
  2. 产品工作中保持饥饿感,保持拒绝90%以上的伪需求你就不会错过下一个微信
  3. kafka 清除topic数据脚本
  4. Containerd迎来1.0通用版本
  5. 加密算法概念简介--MD5、SHA、DES、3DES、AES、RSA、ECC
  6. 一码空传临时网盘源码-带提取码功能
  7. 检测邮箱和手机号是否正确的正则
  8. 语音排队叫号系统源码
  9. 什么是弱网测试?为什么要进行弱网测试?怎么进行弱网测试?
  10. ERROR: Cannot uninstall ‘PyYAML‘. It is a distutils installed project and thus we cannot accurately
  11. 计算机一级演示文稿知识点,计算机一级考试ppt演示文稿及上网题考点
  12. 测试设计之状态转换图
  13. 文本关键词的提取算法实验
  14. 机器学习笔记:随机深度网络 stochastic depth
  15. C语言课设销售管理系统设计
  16. OpenCV中八种不同的目标追踪算法
  17. 解决问题:maven-resources-plugin:3.2.0:resources (default-resources) on project demo: Input length
  18. Unity 3D 游戏脚本 多脚本管理
  19. 视频教程-oracle数据库教程-Oracle
  20. 昂首阔步 从BC编译器走向VC编译器

热门文章

  1. 阿里笔试2023-3-15
  2. Dockerfile 中 CMD 为什么要避免使用 sh -c
  3. JavaScript基础——使用Canvas画图
  4. 什么是模块化?模块化的好处?
  5. 5码默认版块_短说社区论坛系统版块权限功能
  6. 盖塔机器人好_[转载]盖塔机器人的十大谜团
  7. Win10 Plants VS Zombies 运行时出现 Fatal Error
  8. XV6 RISCV 源码阅读之文件系统
  9. python超市管理系统实训报告_超市管理系统实验报告范文
  10. python describe 分位数设置_Python Pandas – 如何通过describe函数计算25百分位数