当前位置: 首页 > news >正文

[Docker] Docker为什么出现

Docker为什么出现

一款产品: 开发–上线 -->两套环境 | 应用配置

开发即运维!

环境配置十分麻烦,每一个机器都要部署环境(Redis, ES, Hadoop) 费时费力

项目带上配置环境安装打包。

传统: 开发jar, 运维来做

现在: 开发打包部署上线,一套流程做完!

java – apk --发布 (应用商店) --张三使用apk-- 安装即可用

java – jar(环境) —打包项目带上环境(镜像) – Docker仓库(商店)–下载我们发布的镜像–直接运行即可

Docker 给以上问题,提出了解决方案。

在这里插入图片描述

Docker的思想就来自于集装箱

JRE – 多个应用(端口冲突) — 原来都是交叉的

  • Docker的核心思想–> 隔离

Docker 是基于GO开发的,开源项目

虚拟机的技术

  • 虚拟机的缺点
  1. 启动慢
  2. 占用资源多
  3. 启动慢

在这里插入图片描述

容器化技术

容器化技术模拟的不是一个完整的操作系统

在这里插入图片描述

比较Docker与虚拟机

  • 传统的虚拟机,虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装运行软件

  • 容器内的应用直接运行在宿主的内容,容器没有自己的内核,也没有虚拟化的硬件,所以轻便

  • 每个容器件相互隔离,每个容器内都有一个属于自己的文件系统,互不影响。

  • Docker是跨平台的

DevOps(开发。运维)

更快地交付和部署

传统: 一堆帮助文档、安装程序

Docker: 打包镜像发布测试,一键运行

更便捷的升级和扩缩容

  • 使用Docker之后,我们部署应用就和搭积木一样

更简单的系统运维

在容器化之后,我们的开发,测试环境是高度一致的。

更高效的计算资源利用

Docker 是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例,服务器的性能可以杯压榨到极致

相关文章:

[Docker] Docker为什么出现

Docker为什么出现 一款产品: 开发–上线 -->两套环境 | 应用配置 开发即运维! 环境配置十分麻烦,每一个机器都要部署环境(Redis, ES, Hadoop) 费时费力 项目带上配置环境安装打包。 传统: 开发jar&…...

小程序基础学习(页面跳转传参)

目录 正向传参 原理:直接在url里面拼接参数即可 接受参数 ​编辑 已经跳转到的页面用onLoad函数来接受即可然后写回页面展示即可 逆向传参 原理:通过使用 getCurrentPages()这个方法来获取返回页面列表,然后再用页面.setData&#xff…...

面试经典150题(85-87)

leetcode 150道题 计划花两个月时候刷完,今天(第四十三天)完成了3道(85-87)150: 85.(77. 组合)题目描述: 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可…...

【C++】“Hello World!“

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 ​ 2024.1.14 纪念一下自己编写的第一个C程序 #include<iostream>int main() {/*我的第一个C程序*/std::cout << "Hello world!:>" <<std::endl;ret…...

系统性学习vue-vue中的ajax

vue中的ajax 配置代理常用发送Ajax请求方式跨域方式一方式二 vue-resource插槽默认插槽具名插槽作用域插槽 配置代理 常用发送Ajax请求方式 xhr new XMLHttpRequest() 在真正开发中不常用&#xff0c;比较麻烦jQuery 封装了xhraxios 封装了xhr 与jQuery相比优势是&#xff1a…...

【PGSQL】date_trunc 函数

date_trunc 函数用于在 PostgreSQL 中将日期或时间戳值截断&#xff08;向下取整&#xff09;到指定的精度级别。当您想要忽略较小的时间单位&#xff08;例如&#xff0c;小时、分钟、秒&#xff09;&#xff0c;专注于较大的单位&#xff08;例如&#xff0c;天、月、年&…...

使用composer生成的DMG和PKG格式软件包有何区别

在使用Composer从包源构建软件包时候&#xff0c;有两种不同类型的包&#xff1a;PKG和DMG。你知道两者之间的区别吗? 以及如何选取吗&#xff1f; 每种格式都有各自的优势具体取决于软件包的预期用途以及用于部署软件包的工具。下面我们来了解一下PKG和DMG格式的区别和用途。…...

Linux 压缩解压

.tar &#xff08;注&#xff1a;tar是打包&#xff0c;不是压缩&#xff01;&#xff09; 解包&#xff1a;tar xvf FileName.tar -C DirName打包&#xff1a;tar cvf FileName.tar DirName .gz 解压1&#xff1a;gunzip FileName.gz解压2&#xff1a;gzip -d FileName.gz压…...

YUM仓库和NFS共享

目录 一、yum仓库 1. yum仓库介绍 1.1 简介 1.2 实现过程 1.3 实现安装服务 2. yum配置文件及命令 2.1 yum配置文件 2.1.1 yum主配置文件 2.1.2 仓库设置文件 2.1.3 日志文件 2.2 yum命令详解 2.2.1 查询 2.2.2 yum安装升级 2.2.3 软件卸载 3. 搭建仓库的方式 …...

Springboot中时间格式化

时间格式化方式 JsonFromat方式全局配置方式格式化工具方式 JsonFromat方式 前端传参或后端响应 yyyy-MM-dd HH:mm:ss 格式&#xff0c;直接属性字段上加注解 JsonFromat JsonFromat(pattern "yyyy-MM-dd HH:mm:ss", timezone "GMT8") private Date fi…...

蓝桥杯基础知识3 memset()

蓝桥杯基础知识3 memset() #include <bits/stdc.h> using namespace std;int main(){int a[5]; //随机数for(int i 0;i < 5; i)cout << a[i] << \n;cout << \n;memset(a, 0, sizeof a); //0for(int i 0;i < 5; i)cout << a[i] << …...

CentOS安装k8s单机/集群及一些命令

目录 前言 1. 安装docker 2. 安装要求 3.准备网络&#xff08;如果只装单机版可跳过此部&#xff09; 4. 准备工作 5. 安装 5.1. 配置阿里云yum k8s源 5.2 安装kubeadm、kubectl和kubelet 5.3 初始化&#xff0c;只在master执行&#xff0c;子节点不要执行 5.3.1 一些…...

iOS和安卓端个人踩坑史

本公司不提供测试机&#xff0c;借手机是开发测试中最麻烦的事 iOS可行组 1、iOS可以播放视频无声音&#xff0c;Andorid有声音 当时做了个远程视频连接项目&#xff0c;使用了jitsi第三方视频服务&#xff0c;iOS没有加dom.play()导致无法接收声音 2、iOS可以长按保存图片…...

前端面试Vue部分补充(详细)

1、vue的基本原理 Vue的基本原理是基于MVVM&#xff08;Model-View-ViewModel&#xff09;模式的前端框架。它通过数据绑定和响应式系统来实现数据和视图的自动同步更新。 Vue的基本原理可以概括为以下几个步骤&#xff1a; 1). 解析模板&#xff1a;Vue通过解析模板来生成虚…...

计算机网络重点简答题

文章目录&#xff08;持续更新&#xff09; 计算机网络重点简答题&#x1f4e3;一、什么是TCP/IP的五层参考模型&#xff1f;✨1.是什么✨2.主要功能✨3.数据包的封装和解封装 &#x1f4e3;二、TCP与UDP的区别&#xff1f; 计算机网络重点简答题 &#x1f4e3;一、什么是TCP/…...

【迅搜17】SCWS分词(二)自定义字典及分词器

SCWS分词&#xff08;二&#xff09;自定义字典及分词器 经过上篇文章的学习&#xff0c;相信大家对分词的概念已经有了更深入的了解了吧。我们也知道了&#xff0c;SCWS 是 XS 中的一个重要组成部分&#xff0c;但它也是可以单独拿出来使用的。而对于分词器来说&#xff0c;不…...

深度学习记录--偏差/方差(bias/variance)

误差问题 拟合神经网络函数过程中会出现两种误差&#xff1a;偏差(bias)和方差(variance) 偏差和误差的区别 欠拟合(underfitting) 当偏差(bias)过大时&#xff0c;如左图&#xff0c;拟合图像存在部分不符合值&#xff0c;称为欠拟合(underfitting) 过拟合(overfitting) …...

React16源码: React中的renderRoot的源码实现

renderRoot 1 &#xff09;概述 renderRoot 是一个非常复杂的方法这个方法里处理很多各种各样的逻辑, 它主要的工作内容是什么&#xff1f;A. 它调用 workLoop 进行循环单元更新 遍历整个 Fiber Tree&#xff0c;把每一个组件或者 dom 节点对应的Fiber 节点拿出来单一的进行更…...

GitHub项目推荐-incubator

项目地址 Github地址&#xff1a;GitHub - apache/incubator-anser 官网&#xff1a;Apache Answer | Free Open-source Q&A Platform 项目简述 这是Apache的一个开源在线论坛&#xff0c;也可以部署成为一个自有的QA知识库。项目主要使用了Go和Typescript来开发&#…...

如何使用ActiveMQ

ActiveMQ是Apache的一款开源消息总线&#xff0c;主要用来做消息的分发。使用ActiveMQ&#xff0c;通常需要以下步骤&#xff1a; 一、启动ActiveMQ 首先需要下载ActiveMQ&#xff0c;然后进行启动。启动后&#xff0c;可以在控制台创建队列&#xff0c;初始用户名和密码通常…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...