Docker之路(1.Docker概述、组成以及特点)

news2025/3/1 0:59:30

1.docker为什么会出现?

  • 一款产品或者项目来说,一般有三个环境,日常/测试环境、预发环境、正式/线上环境
    这么多环境,对其环境的配置是十分麻烦的,每一个机器都要部署环境,有的会有集群Redis、Hadoop等,
    容易出错、并且可能配置错了后,要冲头再来,是很费时费力的。

  • 举例:我们现在要发布一个项目,这个项目依赖的环境,比如说,python、redis、Mysql等等,
    会配置部署起来很麻烦,而且很多的东西是不能够跨平台的,如果说我们发布,就我们的项目以及环境整体搞成一个整体发布的话,而不是环境中的所需要的一个一个去
    配置安装,这样就是项目+环境的一个整体打包发布!

  • 这样是否可以实现?
    可以实现,docker就是来干这个事的

  • 有了docker之后,
    传统的流程:开发、打包项目、后续交给运维
    现在的流程:开发、打包项目环境整体,部署上线,一整套流程!

2.docker核心思想

  • docker核心思想就是隔离,用docker图标的含义来说就是,打包装箱,每个箱子都是互相隔离的。
  • 可以理解为,每个箱子都是不同的东西,但是都可以同时放在一个船上
  • docker 通过隔离的机制,可以将服务器利用到极致

3.docker的一些知识点

  • docker 十分的轻巧
  • docker 是基于Go语言开发的,并且是开源的
  • docker官网:https://www.docker.com/
  • docker官方文档:https://docs.docker.com/ 官方的就很详细了

4.docker能做什么

4.1 之前的虚拟机技术的缺点

  • 资源占用十分多
  • 冗余步骤多
  • 启动很慢

4.2 现在的容器化技术

容器化技术不是模拟的一个完整的操作系统
Docker是内核级别的虚拟机,可以在一个物理机上可以运行很多的容器实例!

  • 应用更快速的交付和部署
  • 更便捷的升级和扩容
  • 更简单的系统运维
  • 更高效的计算资源利用

4.3 比较Docker 和虚拟机技术的不同

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在宿主机内核中,容器是没有自己的内核的,也没有虚拟我们的硬件
  • 每个容器间是相互隔离的,每个容器内部都有一个属于自己的文件系统,互不影响。

5. Docker的基本组成

5.1 Docker 架构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8mpp9BRG-1676962810624)(img.png)]

  • 镜像(image): docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,通过这个镜像可以创建多个
    容器(最终服务运行或者项目运行就是在这个容器中的)
  • 容器(container): docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建。
    目前就可以把这个容器理解为就是一个简易的Linux系统
  • 仓库(repository):
    仓库就是放镜像的地方!
    仓库分为公有仓库和私有仓库!
    Docker Hub(默认是国外的),阿里的,华为的也有仓库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/361132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最全es6数组方法

1.arr.push()从后面添加元素,返回值为添加完后的数组的长度 let arr [1,2,3,4,5] console.log(arr.push(5)) // 6 console.log(arr) // [1,2,3,4,5,5]2.arr.pop()从后面删除元素,只能是一个,返回值是删除的元素 let arr [1,2,3,4,5] console.log(arr.pop())//5 …

学UI设计,可以向哪些方向发展?该怎么学?

1、什么是UI设计?UI设计,全称 User Interface,翻译成中文意思叫做用户界面设计。2、UI设计的类型UI设计按用户和界面来分可分成四种UI设计。分别是移动端UI设计,PC端UI设计,游戏UI设计,以及其它UI设计。第一…

信号量(上)

竞争是协作的特例,竞争关系是属于协作关系 信号量可以解决协作关系存在的问题,那么它也可以解决竞争关系存在的问题 信号量 信号量就是一个整数 先等待,然后再发送信号 p在荷兰语中代表测试 v在荷兰语代表增加 这个函数的执行流需要自己画&a…

C# FFmpeg推流Vlc.DotNet拉流优化参数

FFmpeg是流媒体开源神器,视频转换、剪裁包括推流,无所不能,很多系统都是基于其开发的。拉流可以用FFplay,但是不利于集成到自己的代码中,因此拉流选择了Vlc.DotNet。 在使用中,仅使用默认参数,…

hadoop3.*集群搭建,小白必看

hadoop广义上讲是一个大数据生态圈,接受大量处理、处理大量数据的一个全套的框架!hadoop3.x版本以后,主要有三大模块,HDFS、YARN、mapReduce这三大核心组成!什么是HDFS?分布式文件系统,hadoop集群的功能类…

Centos7搭建hadoop3.3.4分布式集群

文章目录1、背景2、集群规划2.1 hdfs集群规划2.2 yarn集群规划3、集群搭建步骤3.1 安装JDK3.2 修改主机名和host映射3.3 配置时间同步3.4 关闭防火墙3.5 配置ssh免密登录3.5.1 新建hadoop部署用户3.5.2 配置hadoopdeploy用户到任意一台机器都免密登录3.7 配置hadoop3.7.1 创建目…

IO多路复用

文章目录1 概念2. IO多路复用的出现2.1 阻塞IO2.2 非阻塞IO2.3 IO 多路复用2.3.1 select2.3.2 poll2.3.3 epoll总结1 概念 IO多路复用(IO Multiplexing) 是一种同步IO模型,在单个进程/线程内就可以同时处理多个IO请求。一个进程/线程可以监视多个文件句柄&#xff…

深度 | “人人都是数据分析师”的时代,为什么建议你学好python?

01 潜力巨大的数据分析岗位在信息时代的今天,数据推动业务发展、数据辅助业务决策早已成为大势所向,而顺应大数据时代号召的人,薪资待遇自然也是让人羡慕不已——数据分析师确实是高薪职业,大部分公司提供的待遇基本上是10K往上走…

好消息!Ellab(易来博)官方微信公众号开通了!携虹科提供专业验证和监测解决方案

自1949年以来,丹麦Ellab一直通过全球范围内的验证和监测解决方案,协助全球生命科学和食品公司优化和改进其流程的质量。Ellab全面的无线数据记录仪,热电偶系统,无线环境监测系统,校准设备,软件解决方案等等…

Ae:导入 Photoshop 文件

由于 Ae 内嵌了 Photoshop 的渲染引擎,所以可以识别并导入 Photoshop 文件的所有属性,包括位置、混合模式、不透明度、可见性、透明度(Alpha 通道)、图层蒙版、图层组、调整图层、图层样式、图层剪切路径、矢量蒙版、图像参考线等…

IPEmotion新增功能:交流电功率分析计算

一 应用背景 随着国内电动汽车行业的快速发展,在相同的道路环境和行驶状态下,增加电动车的整体续航里程和提升乘员对于行驶途中用电需求的满意度尤为重要。因此,需要采集试验过程中交直流电压电流信号,以计算出车辆各种部件输出和…

rancher2安装nfs-subdir-external-provisioner为PVC/PV动态提供存储空间(动态分配卷)

接上一篇《centos7部署rancher2.5详细图文教程》 一、 安装nfs服务 1. 所有节点都需要操作 $ # 下载 nfs 相关软件 $ sudo yum -y install nfs-utils rpcbind$ # 启动服务并加入开机自启 $ sudo systemctl start nfs && systemctl enable nfs $ sudo systemctl star…

UG NX二次开发(C#)-CAM-不再高亮显示所有的加工特征(CAMFeature)

文章目录 1、前言2、加工特征高亮显示的示例3、获取加工特征的几何对象3.1 获取面对象并取消高亮显示3.2 获取坐标系对象并取消高亮显示4、创建一个不再高亮显示所有加工特征的方法1、前言 当我们在识别加工特征后,其默认状态是被选中的,所以是高亮显示;当我们不再选中时,…

Blender骨骼动画快速教程

有关创建模型的更多详细信息,请参阅在 Blender 中创建模型。 我们将为这个例子做一个非常简单的模型——蠕虫! 从我们的初始立方体开始,进入编辑模式,切换到面选择,然后选择任何面: 推荐:将 NSD…

【颠覆软件开发】华为自研IDE!未来IDE将不可预测!

IDE是软件开发生态的入口,但目前我们所使用的IDE基本都是由国外巨头提供,比如Visual Studio、Eclipse、JetBrains。这些IDE具有很高的断供风险,与操作系统、芯片、编程语言一样,非常重要。 随着越来越多的软件开始采用云上开发模…

重要节点排序方法

文章目录研究背景提前约定基于节点近邻的排序方法度中心性(degree centrality, DC)半局部中心性(semilocal centrality, SLC)k-壳分解法基于路径排序的方法离心中心性 (Eccentricity, ECC)接近中心性 (closeness centrality, CC)K…

mac 好用的类似Xshell工具

下载royal TSX 5.1.1 http://share.uleshi.com/f/9490615-685692355-33bf1e修改mac的etc/hosts文件权限访达(鼠标右键) -> 前往文件夹 ->输入/private --> 打开etc/hosts --> 显示简洁(鼠标右键) --> 权限改成读和写hosts文件写入如下内容:# Royal T…

一个支持.Net 7的WinForm开源UI组件框架

更多开源项目请查看:一个专注推荐.Net开源项目的榜单 平常我们开发桌面软件,使用WinForm默认风格,界面还是比较简单和丑陋的,自定义绘制又比较麻烦。所以,今天给大家推荐一个模仿Element风格的UI框架。 项目简介 这是…

央行罚单!金融机构被罚原因揭秘

近日,人民银行公布了2023年首批行政处罚罚单,引发业内广泛关注。 顶象防御云业务安全情报中心统计了人民银行官网,2020年1月至2023年2月10日期间,公布的101份行政处罚。 统计显示,16家金融机构被罚27066.9万元&#…

CAS底层原理及ABA问题

一、案例CAS是Java中Unsafe类里面的一个方法,它的全称是叫CompareAndSwap比较并交换的一个意思,它的主要功能是能够去保证在多线程的环境下对于共享变量修改的一个原子性。例如,比如说像这样一个场景,有一个成员变量state&#xf…