首页 > 其他分享 >docker基础概念

docker基础概念

时间:2024-02-27 21:34:08浏览次数:27  
标签:容器 操作系统 环境 基础 应用程序 概念 docker 运行

一:docker介绍

Docker借鉴集装箱装运货物的思想,让开发人员将应用程序及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何运行Docker容器引擎的环境中,以容器方式来运行该应用程序。

  - 软件从开发到部署到测试到上线,往往会准备三套环境:开发环境、测试环境、生产环境。反复测试验证环境和应用没有问题。虽然想尽量让环境一致,但依然会存在不可预测得问题。环境、配置、代码统一费时费力,想解决这个问题:软件带着环境安装。

  - 将应用程序所需要得环境、由下而上打包,达到应用跨平台无缝衔接。

  - 虚拟机占用更多资源,更加笨重,docker更适合迁移。

 

Docker为应用程序的开发、发布和运行提供一个基于容器的标准化平台。容器运行的是应用程序,Docker平台用来管理容器的整个生命周期。

  - 屏蔽底层硬件和操作系统区别。

  - 通过命令行工具控制容器创建、开启、关闭等等。

 

Docker具有为用户提供在各种平台上安全可靠地部署可伸缩服务的能力。

  - 容器不同于虚拟机,不需要捆绑一整套操作系统,只需要软件工作所需的资源和设置,可以更高效轻量部署运行。

  - docker带着环境、配置一起打包程序的,因此可以快速在不同环境启动新容器。

二:容器和虚拟机对比

容器不是模拟一个完整的操作系统,而是对进程进行隔离。

容器将软件运行所需的所有资源打包到一个隔离的容器中,不需要捆绑一整套操作系统。

因此整个系统变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。

不同之处:

1、传统虚拟化技术是虚拟出一整套硬件,在上面运行一个完整的操作系统,再在系统上运行所需的应用程序。

2、容器内的应用进程直接运行在宿主机的内核,容器没有自己的内核,没有进行硬件虚拟。因此非常轻便。

3、每个容器间互相隔离,有自己的文件系统,进程不会相互影响,能区分计算资源。

总结:

1:docker就是将应用程序及其环境打包(就是对这个进程进行隔离,容器之间都是独立的),然后做迁移到另外一个操作系统上(无视操作系统),都可以直接的运行

2:另外这个容器非常的轻量,不需要捆绑完整的操作系统,只需要软件工作的资源和配置即可

 

标签:容器,操作系统,环境,基础,应用程序,概念,docker,运行
From: https://www.cnblogs.com/qm77/p/18038373

相关文章

  • 2024牛客寒假算法基础集训营5 题解 ( A,C,G,H,I,L,M )
    2024牛客寒假算法基础集训营5题解(A,C,G,H,I,L,M)A mutsumi的质数合数题意有一个由\(n\)个正整数组成的数组,她想知道数组中质数和合数共有几个。思路由质数和合数的定义可知,正整数范围内除\(1\)外,要么是质数要么是合数,本题直接统计不是\(1\)的正整数的个数即可代码......
  • WPF UI更新技巧:掌握EventHandler的基础与Dispatcher的高级应用
     概述:在WPF中,通过EventHandler可实现基础和高级的UI更新方式。基础用法涉及在类中定义事件,并在UI中订阅以执行更新操作。高级用法借助Dispatcher类,确保在非UI线程上执行操作后,通过UI线程更新界面。这两种方法提供了灵活而可靠的UI更新机制。在WPF(WindowsPresentationFounda......
  • 智能风控基本概念
    一、智能风控定义智能风控是应用智能化技术加强金融领域风险管控的重要手段。智能风控在金融领域的应用可保障金融机构的业务效率和安全性,在有效降低风险事件发生概率和损失的前提下,扩展业务覆盖人群,完善业务流程,降低风控成本,实现贷前、贷中、贷后全链条自动化的同时,促进风控......
  • 如果正确清理docker可用回收资源
    正确清理Docker可用回收资源必须条件docker.service正常运行执行dockersystemprune,如下<root@DEV-K8S-WN4~>#dockersystempruneWARNING!Thiswillremove:-allstoppedcontainers-allnetworksnotusedbyatleastonecontainer-alldanglingimage......
  • 基础字符串算法
    1哈希1.1概念哈希就是构造一个数字使之唯一的代表一个字符串。我们来考虑一下二进制数的转化:$(1001)2=1\times23+0\times22+0\times2^1+1=(9)$现在,我们令$'a'=1,'b'=2,'c'=3\cdots,'z'=26$。然后将进制$p$设为$131$。就能得到:$(abc)p=1\timesp^2+2\timesp+3=(22483......
  • python中几种括号的使用:()、[]、{}的基础使用
    Python中的三种数据类型,分别是小括号()、中括号[]、花括号{}():代表tuple元组tup=(1,2,3)[]:代表list列表list=[1,2,3]{}:代表dict字典tinydict={'a':1,'b':2}嗯1、()tuple元组小括号()代表元组,元组是不可改变的序列。创建方式如下图:2、[]list列表[]中......
  • React基础-下
    React目录ReactReact表单控制受控表单绑定非受控绑定(React中获取DOM)React组件通信父子通信—父传子props说明特殊的propchildren父子通信—子传父兄弟组件通信使用Context机制跨层级组件通信React副作用管理—useEffect概念useEffect基础使用useEffect依赖说明......
  • Java基础-String字符串和数组
    1.String基础:字符串是编程时经常用到的一种数据类型。Java中使用String类和StringBuilder类来封装字符串。String类定义不变字符串,StringBuffer类则用于可变字符串处理。换句话说,String类创建的字符串时不会改变的,而StringBuffer类创建的字符串可以修改。字符串的声明与创建:1.......
  • Java基础-面向对象概述
    本章重点针对面向对象的三大特征:继承、封装、多态进行详细的讲解。另外还包括抽象类、接口、内部类等概念。很多概念对于初学者来说,更多的是先进性语法性质的了解。1.面向对象-继承:1.继承的实现:继承通过如下格式实现:class子类名extends父类名[implements<接口名>]{}......
  • Java基础-面向过程和面向对象
    面向过程和面向对象都是对软件分析、设计和开发地一种思想,它指导着人们以不同的方式去分析、设计和开发软件。这两种思想是相辅相成的。面向过程:使用面向过程思想思考问题时,我们首先思考“怎么按步骤实现?”并将步骤对应成方法,一步一步,最终完成。这个思想适合简单任务,不需要过多......