首页 > 其他分享 >什么是docker

什么是docker

时间:2023-04-12 16:34:37浏览次数:29  
标签:容器 一个 牛肉面 什么 宿主机 鲸鱼 docker

程序员界的一个玄学的问题,当你写好一个应用程序,发给另一个程序员安装的时候,明明在你本地上跑的好好的,为何在对方的电脑上就跑不去来了。

容器技术是为程序员带来一个复刻,打包,迁移自己的应用程序,使之能在别的宿主机上顺利的运行跑起来的的一种技术。

docker则是容器技术界的一哥,就像康师傅是泡面界的一哥一样。

在以docker为代表的容器技术和以康师傅为代表的泡面技术出现以前,如果我想要把我的牛肉面的做法分享给我的朋友。那我只能这么做,采购好牛肉和面条,附上一张菜谱。指望他们能在自己家厨房里面复刻跟我做的一模一样的牛肉面。但是这是一个很难的事情,每个人技艺手法都有所不同,张三家只有盘子,李四家只有碗,张三家只有大葱,李四家只有小葱,每个人的依赖库都是有所不同的。
而以康师傅为首的牛肉面出现以后,我会是怎么做呢,首先我就不会给张三李四寄裸的牛肉和面条,而是找一个干净的可封闭的小盒子(容器),叫它container或者沙盒、集装箱都可以,可以装的下我所有的依赖。随后我会把我的应用程序以及它所依赖的所有文件都装在上面,打包成一个docker容器的镜像。这样的一个容器我就可以发给张三、李四,发在云上,可以随意的搬运,这就是为什么container经常被叫做集装箱。

Docker的logo是一个小鲸鱼,而这只小鲸鱼是如何做到这件事的,首先是我在我家厨房打包的时候我其实是写了一张清单叫dockerfile,dockerfile中我会告诉小鲸鱼我需要哪些东西,怎么给我放进去,一层一层的按照我的清单码在我的集装箱里。我会跑一下docker build,docker build就是召唤我的小鲸鱼帮我干上面这件事,帮我采买所有的原材料打包,我就拿到了docker镜像,我拿到了docker镜像(docker image)以后可以直接发给我的朋友们,也可以docker push到一个dockerHub这样一个镜像的代收点,然后让张三李四去拿。最后张三李四拿到之后不需要准备任何的锅碗瓢盆,油盐酱醋,它只需要docker run一下,就是给这盒泡面注入热水,就得到了一个docker container

Docker容器跑起来以后,它依旧是宿主机上的一个进程,不过它有一点特殊,就是docker小鲸鱼给容器进程施了障眼法,使它看不到其他的进程,他以为自己独占了这个操作系统的内核,其实他是和宿主机上的其他进程共享了宿主机操作系统上的内核。但是因为容器被施了障眼法,他只能看到自己的nameSpace里面的东西。所以这就是说容器好像是跑在一个沙盒里面与世隔绝。当你同时泡3碗不同口味的牛肉面,他们在自己的沙盒里面自给自足,发挥稳定,和厨房里面的任何食物都互不串味,它也不依赖我的厨房里的东西。你可以理解为docker是一个轻量级的虚拟机技术,和宿主机通信时需要指定端口。

 

 

标签:容器,一个,牛肉面,什么,宿主机,鲸鱼,docker
From: https://www.cnblogs.com/songcuiting/p/17310252.html

相关文章

  • centos上docker命令
    1.启动dockersystemctlstartdocker2.查看docker下容器列表dockerps-aCONTAINERID是容器id3.运行dokcer内的容器dockerstartxxx(容器id)4.进入容器内操作dockerexec-itxxx(容器id)5.docker文件传输(1)本地往docker内传输:dockercpmain.js(本地文件)f49214465f2e:/......
  • Centos 7 安装Docker
    前提条件:目前,CentOS仅发行版本中的内核支持Docker。Docker运行在CentOS7(64-bit)上,要求系统为64位、Linux系统内核版本为3.8以上,这里选用Centos7.x1、下载repo仓库wget-P/etc/yum.repos.dhttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2、安装do......
  • 电平是什么,常用电平标准有哪些?
    文章转载来源:https://www.ebyte.com/new-view-info.html?id=2344电平,就是指电路中两点或几点在相同阻抗下电量的相对比值。这里的电量自然指“电功率”、“电压”、“电流”,并将倍数化为对数,用“分贝”表示,记作“dB”。常用逻辑电平有TTL、CMOS、RS232、RS485等。1、TTL电平标......
  • 1 什么是Iaas-Paas和Saas、 2 docker 启动设置镜像、3 镜像相关命令、 4 容器相关命令
    目录1什么是Iaas-Paas和Saas2docker启动设置镜像2.1启动与停止常用命令3镜像相关命令4容器相关命令1什么是Iaas-Paas和SaasIaas:Infrastructure-as-a-Service(基础设施即服务)IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在......
  • 简单了解什么是驻波比?
    文章转载来源:https://www.ebyte.com/new-view-info.html?id=2348驻波比全称为电压驻波比,又名VSWR,为英文Voltage Standing Wave Ratio的简写,在理解电压驻波比之前先要明白什么是“驻波”。假设两个波长相同的波以相反的方向传播,绿线波朝着左方向旋转,蓝线波朝着右方向旋转,这两......
  • 在CentOS上安装Docker引擎
    1,先决条件####1-1操作系统要求1-2卸载旧版本2,安装方法2-1使用存储库安装设置存储库安装Docker引擎本文永久更新地址:官方地址:https://docs.docker.com/engine/install/centos/1,先决条件####1-1操作系统要求要安装DockerEngine,您需要以下CentOS版本......
  • 在docker安装Python环境提供给其他docker使用
    1.在宿主机新建一个目录2.在app目录下新建一个Dockerfile文件本文永久更新地址:1.在宿主机新建一个目录在宿主机上新建一个目录如app/,在app目录里面导入项目需要依赖的包在项目根目录下输入命令,导出python项目所有的依赖包pipfreeze>requirements.txt把导出的re......
  • Docker 应用部署
    一、mysql部署在Docker容器中部署mysql,并通过外部mysql客户端操作MySQLserver容器内的网络服务和外部机器不能直接通信外部机器和宿主机可以直接通信宿主机和容器可以直接通信当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上,外......
  • 站群服务器是什么?
    站群服务器是单独为一个网站或者多个网站配置独立IP的一种服务器。企业或是用户如果想组建多个网站的话就需要用站群服务器了。站群服务器可以提高搜索引擎多个网站的关注度,提高网站文章的收录以及网站文章的访问量,这也是网站SEO优化的重要一步。如果这些网站结构或者内容大致相同,......
  • Docker CLI docker compose cp常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......