首页 > 其他分享 >什么是Docker?为什么使用docker?

什么是Docker?为什么使用docker?

时间:2022-12-28 15:32:29浏览次数:34  
标签:为什么 隔离 容器 可以 docker Docker 运行

  Docker是基于Go语言进行开发实现,一个开源的应用容器引擎。

  采用Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,也可以实现虚拟化。

  隔离的进程独立于宿主和其他的隔离进程,因此也称其为容器。

  可以将Docker容器理解为一种轻量级的沙盒,每个容器内运行着一个应用,不同的容器相互隔离,容器之间也可以通过网络互相通信。

  容器的创建和停止十分快速,几乎跟创建和终止原生应用一致;

  另外,容器自身对系统资源的额外需求也十分有限,远远低于传统虚拟机。

  很多时候,直接将容器当作应用本身也没有任何问题。

  为什么使用docker

  对于开发和运维人员来说,最希望的效果就是一次创建或者配置后,可以在任意地方、任意时间让应用正常运行。

  对于算法研究人员来说,可能不同的算法需要不同版本的软件,那么在同一个环境中就会存在冲突。

  而docker 的环境隔离就可以很方便用于不同环境的配置。

  具体来说,docker优势主要有以下几个方面:

  1、快速交付和部署

  使用docker,开发人员可以使用镜像快速构建一套标准的开发环境;

  开发完成后,测试和运维人员可以使用完全相同的环境部署代码,只要是开发测试过的代码就可以确保在生产环境无缝运行。

  docker可以快速创建和删除容器,实现快速迭代。

  2、高效的资源利用

  运行docker容器不需要额外的虚拟化管理程序的支持。

  docker是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。

  3、轻松的迁移和扩展

  docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、服务器等。

  同时支持主流的操作系统发行版本,这种兼容性让用户可以在不同平台间轻松的迁移应用。

  4、简单的更新管理

  使用Dockerfile生成镜像的方式,只需要小小的配置修改,就可以替代以往大量的更新工作,所有的修改都以增量的方式进行分发和更新,从而实现自动化且高效的容器管理。

  docker架构分析

  如下图所示,Docker采用的是 Client/Server 架构。

  客户端向服务器发送请求,服务器负责构建、运行和分发容器。

  客户端和服务器可以运行在同一个 Host 上,客户端也可以通过socket或 REST API与远程的服务器通信。

什么是Docker?为什么使用docker?_服务器


标签:为什么,隔离,容器,可以,docker,Docker,运行
From: https://blog.51cto.com/u_14661964/5975090

相关文章

  • Dockerfile的使用
    什么是Dockerfile?Dockerfile是一个用来构建镜像的文本文件,文本内容包含一条条构建镜像所需的指令和说明 使用Dockerfile定制镜像FROM和RUN指令的作用From:定制的镜......
  • Docker开发环境部署
    ​​ ......
  • Docker的资源管理控制
    一、CPU控制cgroups,是一个非常强大的linux内核工具,他不仅可以限制被namespace隔离起来的资源,还可以为资源设置权重、计算使用量、操控进程启停等等。所以cgroups(Contr......
  • Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docke
    [root@localhostdocker]#[root@localhostdocker]#docker--versionDockerversion1.13.1,build7d71120/1.13.1[root@localhostdocker]#[root@localhostdocker]#......
  • 解读“K8S不支持Docker”
    容器不只是Docker,但不可否认Docker是容器的代名词、容器时代的引领者。实际上K8S出现并得以快速发展,也是由于Docker的强大优势和快速发展,2014 年 Google 推出Kubernetes......
  • react和vue中为什么用key、并且用key的时候为什么不能用index
    为什么用key在虚拟dom进行diff算法的时候,使用key可以对key进行比较然后来判断两个节点是否是同一节点,极大的增加了速度。为什么避免使用index先来总结好了的:如果只是......
  • Docker 中的挂载卷
    我们现在有这样一个需求。我们有一个Spring的项目是部署在容器中的,如果不进行任何配置的话,这个项目运行的所有日子都会在容器中。当容器重启说着终止后,上面的日志比较难进......
  • Docker网络中篇-docker网络的四种类型
    通过上一篇学习,我们对docker网络有了初步的了解。本篇,咱们就来实战docker网络。docker网络实战实战docker网络,我们将从以下几个案例来讲解1:birdge是什么?2:host3:none4......
  • docker搭建Elasticsearch、Kibana、Logstash 同步mysql数据到ES
    一、前言在数据量大的企业级实践中,Elasticsearch显得非常常见,特别是数据表超过千万级后,无论怎么优化,还是有点力不从心!使用中,最首先的问题就是怎么把千万级数据同步到Elast......
  • docker部署lnmp
    一、构建自定义docker网络12345systemctlstopfirewalldsystemctldisablefirewalldsetenforce0 dockernetworkcreate--subnet=172.18.0.0/16......