首页 > 其他分享 >Docker

Docker

时间:2023-02-19 17:31:54浏览次数:36  
标签:容器 操作系统 虚拟机 Linux Docker 运行

一、背景

1.png

二、Docker简介

2.png

1、定义

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上。
Docker是一种容器虚拟化技术,上图小海豚上的小箱子,就像是将开发包,环境,中间件,配置等等都放进去,放到docker里面运行,放进去的时候是什么,运行的时候就是什么。

2、虚拟机与容器的区别

1、虚拟机简介

3.png

虚拟机就是带环境安装的一种解决方案。
它可以在一种操作系统里面运行另一种操作系统,比如在windows系统里运行Linux系统CentOS7。
应用程序对此毫无感知,因为虚拟机看上去和真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通的文件,不需要了就删掉,对其他部分毫无影响。
这类虚拟机完美的运行了另一套系统,能够使应用程序,操作系统和硬件三者之间的逻辑不变。
传统虚拟机(VMWare)是安装在主操作系统上的,创建虚拟机,在虚拟机上面安装从操作系统(CentOS7),之后在从操作系统中安装部署各种应用。
2、虚拟机缺点
资源占用多 (ISO镜像文件大)
冗余步骤多
启动慢
3、容器简介

5.png

由于前面虚拟机存在某些缺点,Linux发展出了另一种虚拟化技术:Linux容器。
Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需要的全部文件。容器提供的镜像包含了应用所需要的所有依赖,从而在从开发到测试再到生产,它都具有可移植性和一致性。
Linux不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需要的所有资源打包到一个隔离的容器中。
容器与虚拟机不同,,不需要捆绑一整套操作系统,只需要软件工作所需要的资源库和设置。系统因此而变得高效、轻量并保证部署在任何环境中的软件都能始终如一的运行。

4、容器的优点

Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统的虚拟机则是在硬件层面实现虚拟化。与传统的虚拟机相比,Docker优势体现为启动速度快,占用体积小。

5、虚拟机与容器的比较

4.png

传统虚拟机:
传统虚拟机技术是虚拟出一套硬件之后,在虚拟出来的硬件上运行一个完整的操作系统,在此操作系统上再运行所需要的应用程序
容器:
容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更轻便。
每个容器之间相互隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。

标签:容器,操作系统,虚拟机,Linux,Docker,运行
From: https://blog.51cto.com/u_15410237/6066776

相关文章

  • docker push 到私有仓库提示(Client.Timeout exceeded while awaiting headers)
    如果docker在上传镜像的时候出现该问题,那么大概率是私有仓库的docker不通[root@localhostdocker]#dockerpush192.168.223.136:5000/xiaoniao:v1Thepushrefersto......
  • MongoDB简介与应用场景、Docker安装Mongo、整合SpringBoot实现CRUD
    (目录)1MongoDB相关概念1.1业务应用场景传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。解释:“三高”需求:•Hi......
  • Docker常用的命令
    1、查看镜像1.1、查询镜像[root@k8s-master~]#dockerimages1.2、查询运行的镜像#查看正在运行的镜像[root@k8s-master~]#dockerpsCONTAINERIDIMAGE......
  • linux centOs7 安装docker
    一.设置安装源yum-config-manager--add-repohttp://download.docker.com/linux/centos/docker-ce.repo(中央仓库)或yum-config-manager--add-repohttp://mirrors.aliyu......
  • docker-数据卷挂载
    docker容器数据卷数据卷也叫:目录挂载即:将容器内的目录,挂载到宿主机为什么要使用数据卷容器的持久化和同步操作!多个容器间也是可以数据共享的,即多个容器可以挂载同......
  • CICD流水线 Jenkins + Docker compose 分环境 一键部署SpringCloud项目
    一、环境准备接上篇:上篇搭建好了Jenkins 环境 并把docker-compose.yml Dockerfile 相关jar包推送到了目标服务器。二、分环境部署1、SpringBoot配置pom.xml<pro......
  • 云平台的测试———(2)Docker测试
    查看容器运行状态在server节点使用netsta命令查看仓库监听端口号在server节点,使用inspect查看rancher/server的卷组信息查看容器rancher server进程信息在server......
  • 分布式云计算的搭建平台———(3)Docker配置
    1.3.1基础配置进行网络配置,修改主机名,使用hostnamectlset-hostnameserver;hostnamectlset-hostnameclient修改两台主机名,配置文件/etc/hosts文件修改映射进入/etc/sy......
  • 重温 dockerfile & docker-compose
    重温dockerfile&dockerCompose复习dockerfile将应用程序及其需要的系统函数库、环境、配置、依赖,打包常用命令https://docs.docker.com/engine/reference/builder/......
  • github action 编译上传docker hub
    简介:以前介绍过dockerhub直接连接github编译docker镜像,但是已经停止服务了,不知道企业会员还有没有。那么以后我们就自己编译docker镜像了么?至少现在github被微软收购以......