Docker - 概述

Docker概述

  1. Docker概述
  2. Docker安装
  3. Docker命令
    1. 镜像命令
    2. 容器命令
    3. 操作命令
  4. Docker镜像
  5. 容器数据卷
  6. DockerFile
  7. Docker网络管理
  8. IDEA整合Docker
  9. Docker Compose
  10. Docker Swarm 简化版的K8s

Docker为什么出现?

传统的项目部署,环境配置是十分麻烦,第一个机器都要部署环境(集群Redis,ES,Hadoop…)费时费力

发布一个项目(jar+(Redis MySQL jdk ES))项目能不能都带上环境安装打包!

例:

java -> apk -> 发布(应用商店) -> 安装即可使用!

java -> jar(环境) -> 打包项目带上环境(镜像)->(Docker仓库:商店) -> 下载发布的镜像 -> 直接运行即可!

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

Docker的思想就来自于集装箱!

JRE - 多个应用(端口冲突)

隔离:Docker核心思想!打包装箱,每个箱子是互相隔离的

Docker 通过隔离机制,可以将服务器利用到极致!

本质:所有的技术都是因为出现了一些问题,我们需要去解决,才去学习使用!

Docker的历史

2010年,几个搞IT的年轻人,就在美国成立了一家公司 dotCloud

做一些pass的云计算服务! LXC有关的容器技术!

他们将自己的技术(容器技术)命名就是Docker

2013年开源 -> Docker越来越多的人发现了Docker的优点,火了,Docker每个月都会更新一个版本! ->2014年4月9日 Docker 1.0发布!

vm : linux centos原生镜像(一个电脑!)隔离,需要开启多个虚拟机! 几个G 几分钟
docker :隔离,镜像(最核心的环境 4m + jdk + mysql)十分的小巧,运行镜像就可以了!小巧!几M kb 秒级启动!

聊聊Docker

Docker是基于Go语言开发的!开源项目!

官网:https://www.docker.com/

文档地址:https://docs.docker.com/ Docker的文档是超级详细的

仓库地址:https://hub.docker.com/

Docker能做什么

虚拟机技术

  1. 资源占用十分多
  2. 冗余步骤多
  3. 启动很慢!

在这里插入图片描述

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

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

在这里插入图片描述

DevOps(开发,运维)

应用更快速的交付和部署

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

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

更便捷的升级和扩缩容

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

​ 项目打包为一个镜像,扩展 服务器A!服务器B

更简单的系统运维

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

更高效的计算资源利用

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

说明:摘抄B站 “狂神说” 视频

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络笔记】网络层服务模型——虚电路网络

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

frida hook(深入浅出)

Andrax搭建Android渗透测试环境 编译官方frida源码 APP基于Frida脱壳 Frida Hook的使用方法 Frida逆向分析APP实战 魔改frida到绕过检测的思路 配置fridaserver为后台进程 使用frida-net玩转frida-rpc 内置frida hook到Android系统 内置frida-inject工具到手机系统 三…

MySQL基础操作

注:mysql是大小写不敏感的. 1.数据库基础操作(展示) //1.展示当前数据库 show databases;//2.创建数据库 create database 数据库名;//3.使用数据库 use 数据库名;//4.删除数据库 drop database 数据库名;2.SQL中基本类型 2.1 数值类型(整数和浮点型) 注:decimal和numeric…

Spring笔记(三)(Spring整合web环境)

01、Spring整合web环境 1.1 Javaweb三大组件及环境特点 在Java语言范畴内,web层框架都是基于Javaweb基础组件完成的,所以有必要复习一下Javaweb组件的特点 组件作用特点Servlet服务端小程序,负责接收客户端请求并作出响应的单例对象&#…

详解FreeRTOS:系统时钟节拍(进阶篇—8)

在详解FreeRTOS:FreeRTOS时间片调度(进阶篇—7)中我们讲到了时钟节拍这个概念,本篇博文将详细讲解FreeRTOS系统时钟节拍相关知识。 不管是什么系统,运行都需要有个系统时钟节拍,xTickCount 就是FreeRTOS 的系统时钟节拍计数器。每个滴答定时器中断中 xTickCount 就会加一…

Go - 用户服务和Web服务

文章目录 go日志库之zap1. 安装和基本使用2. 写入日志文件 go的配置文件管理-viper1. 介绍2. yaml教程3. 安装4. 将配置文件映射成struct5. 使用 自定义验证器1. 手机号码正则表达式2. 自定义翻译的问题 JWT1. json web token是什么?2. 什么时候你应该用JSON Web To…

虚幻引擎:如何在工程里面添加插件

1.在自己的项目中安装插件 在content目录下创建一个Plugins的文件,将插件文件放进去即可 2.在软件上安装,这样所有创建的项目都会带有此插件 将插件放在自己软件的这个目录下就好了

mediapipe流水线分析 二

目标检测 Graph 一 流水线上游输入处理 1 TfLiteConverterCalculator 将输入的数据转换成tensorflow api 支持的Tensor TfLiteTensor 并初始化相关输入输出节点 ,该类的业务主要通过 interpreter std::unique_ptrtflite::Interpreter interpreter_ nullptr; 实现…

【漏洞复现】Apache_Shiro_1.2.4_反序列化漏洞(CVE-2016-4437)

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证 说明内容漏洞编号CVE-2016-4437漏洞名称Apache_Shiro_1.2.4_反序列化漏洞漏洞评级…

Xmake v2.8.5 发布,支持链接排序和单元测试

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。 它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好&#x…

linux下IO模及其特点及select

ftp实现 模拟FTP核心原理:客户端连接服务器后,向服务器发送一个文件。文件名可以通过参数指定,服务器端接收客户端传来的文件(文件名随意),如果文件不存在自动创建文件,如果文件存在&#xff0c…

Discourse 如何在 header 上添加 HTML

虽然现在大部分网站都开始支持使用 CDN 的网站校验了。 但还有些网站在你需要他们提供服务的时候要求使用 header 的 meta 数据校验。 Discourse 是可以轻松的实现上面的功能的。 添加方法 选择你的 Discourse 网站下的自定义。 然后在左侧选择你需要添加的主题。 为了方便…

AD9371 官方例程 NO-OS 主函数 headless 梳理(一)

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 : AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射: AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 : AD9371 官方…

【Java 进阶篇】JSTL 详解

Java JSTL(JavaServer Pages Standard Tag Library)是用于简化在 JSP 页面上的开发工作的 Java 标签库。它提供了在 JSP 页面上使用的标准标签,可以帮助开发人员更轻松地访问和操作数据,而无需编写大量的 Java 代码。Java JSTL 是…

工业相机基本知识理解:工业相机IO接口,功耗和供电方式

I-input 相机接收外部信号,可用于触发相机(硬触发),也可用于定制不同的 功能,例如使用不同信号宽度来改变相机的曝光时间。主要用于现场设 备控制相机使用,常常配合各种传感器使用 O-output 相机输出信号&a…

antd-vue + vue3 实现a-table动态增减行,通过a-from实现a-table行内输入验证

一、效果图 图一:校验效果 二、主要代码 注意: 1、form 与 table 绑定的是同一个数据 tableSource 并且是一个数据(ElementUI 需要 对象包数组) 2、form用的是 name 绑定 -> :name"[index, vlan_id]" 3、form-i…

【分布式事务】深入探索 Seata 的四种分布式事务解决方案的原理,优缺点以及在微服务中的实现

文章目录 前言一、XA 模式1.1 XA 模式原理1.2 XA 模式的优缺点及应用场景1.3 Seata XA 模式在微服务中的实现 二、AT 模式2.1 Seata AT 模式原理2.2 AT 模式的脏写问题和写隔离3.3 AT 模式的优缺点3.4 Seata AT 模式在微服务中的实现 三、TCC 模式3.1 TCC 模式原理3.2 Seata 的…

内窥镜项目

★ 手持pad内窥镜项目 项目描述:3D电子内窥镜软件项目是一个基于BS(浏览器服务器)架构的项目,旨在实现对内窥镜设备的远程控制和高级功能操作。该项目允许操作员使用平板电脑手动触摸屏上的按钮、外部按键或脚踏板 来控制内窥镜设…

初阶JavaEE(15)(Cookie 和 Session、理解会话机制 (Session)、实现用户登录网页、上传文件网页、常用的代码片段)

接上次博客:初阶JavaEE(14)表白墙程序-CSDN博客 Cookie 和 Session 你还记得我们之前提到的Cookie吗? Cookie是HTTP请求header中的一个属性,是一种用于在浏览器和服务器之间持久存储数据的机制,允许网站…

【C++】类和对象(一):什么是面向对象,访问限定符有哪些,类定义细节,结构体和类的关系。

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …