ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基础系列<一>Docker介绍和概念

2022-08-02 05:31:07  阅读:237  来源: 互联网

标签:系列 虚拟机 端口 概念 集装箱 镜像 Docker docker


一、docker介绍

  • 从下面的logo中我们可以看到,一条鲸鱼载着一堆集装箱。在集装箱没有出现之前,运送的货物全部都堆在一条船上运输,很容易造成货物损坏,比如我运送一批货物,里面有水果,化学物品,木头。当这批货物堆在一条船上一起运送的时候,有可能会发生化学物品泄露导致水果被污染,或者木头松动导致砸坏化学物品。这个时候为了避免货物损失,会安排多条船去运送这批物资,但是这样又会造成运送成本的增加,这个时候就发明了集装箱,把不同的货物通过集装箱隔离开。这样所有的货物放在一条船上,就不会出现互相污染的情况了。
  • 那么docker是什么呢?docker就是那头鲸鱼货轮+集装箱的集合体,它可以将货物进行分类包装进集装箱,并提供一条存放集装箱的货轮。这样,通过想把集装箱送往哪个地方就送往哪个地方。

 

 

 二、基本概念

1、为什么要docker,单机部署不行么?

  • 答:单机部署可以,但是单机部署有两个大问题,那就是端口和环境的冲突,如果只发布3,4个服务,那没什么问题,但是在分布式或者微服务的架构上,一个机器上可能需要部署无数个服务,这个时候,端口够用么?会不会经常存在端口的冲突?如果我网关是用go编写的,业务接口使用.netcore和java编写,那么这台机器的运行环境是不是有可能存在冲突?这就是所有货物都扔在一条船上的时候,会造成过互相污染,互相冲突的场景。所以,docker的使用场景也就出来了,当你需要部署多服务或者需要在一台机器上部署多环境项目时,docker是个很好的解决方案。

2、单机解决不了端口冲突和多环境冲突,那在一台机器上部署多个虚拟机发布不就解决了?

  • 答:是的,这样是可以解决端口问题和多运行环境的冲突问题.虚拟机是一个操作系统,所以就会产生一个问题,那就是占用资源的问题,一台虚拟机占用的硬件资源是很大的。如果有1000个服务需要至少100个虚拟机?一台机器的资源够100个虚拟机分么?而且,同时启动100个虚拟机,耗时又如何?所以虚拟机虽然解决了端口和环境的问题,却又引入了资源占用和启动耗时,迁移,复制等维护管理上的不方便。

3、docker是如何解决端口、环境、资源占用大,启动慢,不好管理和维护的问题的呢?

  • Docker通过运行容器来解决上述的问题,容器是docker的一个小型操作系统。比虚拟机小的多,具有占用资源小,启动快的特点同时拥有虚拟机的所有功能特点。

4、docker概念

  • Image(镜像):镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置文件、配置参数等。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
  • Container(容器):容器 = 镜像 + 读写层,文件系统+可读写,是不是相当于一个操作系统了,实际上就是一个小型的虚拟机。
  • Repository(仓库):仓库是集中存放镜像文件的场所。
  1. public(共有仓库):Docker Registry公有仓库是开放给用户使用、允许用户管理镜像的 Registry 服务。一般这类公开服务允许用户免费上传、下载公开的镜像,并可能提供收费服务供用户管理私有镜像。
  2. private(私有仓库):Docker官方提供了Docker Registry镜像,可以直接使用做为私有Registry服务。当用户创建了自己的镜像之后就可以使用push命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull下来就可以了。
  • Docker Host(docker主机):操作镜像和容器
  • Docker Client(docker客户端):操作Docker Host

 

标签:系列,虚拟机,端口,概念,集装箱,镜像,Docker,docker
来源: https://www.cnblogs.com/choii/p/16542428.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有