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站 “狂神说” 视频

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

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

相关文章

如何利用JSON Schema校验JSON数据格式

最近笔者在工作中需要监控一批http接口&#xff0c;并对返回的JSON数据进行校验。正好之前在某前端大神的分享中得知这个神器的存在&#xff0c;调研一番之后应用在该项目中&#xff0c;并取得了不错的效果&#xff0c;特地在此分享给各位读者。<br style"box-sizing: …

STM32 IIC 实验

1. 可以选择I2C1&#xff0c;也可以选择I2C2&#xff0c;或者同时选择&#xff0c;同时运行 配置时钟信号 为节约空间&#xff0c;选择这两个&#xff0c;然后选择GENERATE CODE 二、HAL_I2C_Mem_Write I2C_HandleTypeDef *hi2c&#xff1a;I2C设备句柄 uint16_t DevAddress&am…

目标检测YOLO系列从入门到精通技术详解100篇-【图像处理】图像分割

目录 前言 知识储备 图像处理常用算法 算法原理 传统分割方法 1.基于阈值的分割方法

IDEA JAVA项目 导入JAR包,打JAR包 和 JAVA运行JAR命令提示没有主清单属性

一、导入JAR包 1、java项目在没有导入该jar包之前&#xff0c;如图&#xff1a;2、点击 File -> Project Structure&#xff08;快捷键 Ctrl Alt Shift s&#xff09;&#xff0c;点击Project Structure界面左侧的“Modules”如图&#xff1a;3.在 “Dependencies” 标签…

《006.Springboot+vue之旅游信息推荐系统》【有文档】

《006.Springbootvue之旅游信息推荐系统》【有文档】 项目简介 [1]本系统涉及到的技术主要如下&#xff1a; 推荐环境配置&#xff1a;DEA jdk1.8 Maven MySQL 前后端分离; 后台&#xff1a;SpringBootMybatis; 前台&#xff1a;vueElementUI; [2]功能模块展示&#xff1a; …

nodejs express uniapp 图书借阅管理系统源码

开发环境及工具&#xff1a; nodejs&#xff0c;mysql5.7&#xff0c;HBuilder X&#xff0c;vscode&#xff08;webstorm&#xff09; 技术说明&#xff1a; nodejs express vue elementui uniapp 功能介绍&#xff1a; 用户端&#xff1a; 登录注册 首页显示轮播图&am…

Ubuntu20.04换源教程、解决主机与虚拟机之间进行文本复制粘贴问题

Ubuntu20.04换源教程&#xff1a; 1.打开终端 2.备份原有的软件源列表文件&#xff1a; sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 3.打开软件源列表文件进行编辑&#xff1a; sudo gedit /etc/apt/sources.list 4.更换新的软件源配置信息(eg:阿里云源&a…

为全志T507-H开发板配置Samba服务,高效实现跨系统的文件共享

作为一款经典的国产芯&#xff0c;全志T507-H芯片被广泛应用于车载电子、电力、医疗、工业控制、物联网、智能终端等诸多领域当中&#xff0c;而在各种复杂的嵌入式Linux应用场景当中&#xff0c;“打通ARM板卡与Windows设备间的壁垒以实现跨平台的文件共享”是一项不能被忽视的…

电脑风扇控制软件 Macs Fan Control Pro mac中文版功能介绍

Macs Fan Control mac是一款专门为 Mac 用户设计的软件&#xff0c;它可以帮助用户控制和监控 Mac 设备的风扇速度和温度。这款软件允许用户手动调整风扇速度&#xff0c;以提高设备的散热效果&#xff0c;减少过热造成的风险。 Macs Fan Control 可以在菜单栏上显示当前系统温…

(三)Spring源码解析:自定义标签解析

一、使用示例 步骤1&#xff1a;创建User实体 步骤2&#xff1a;定义一个XSD文件描述组件内容 步骤3&#xff1a;创建BeanDefinitionParser接口的实现类&#xff0c;用来解析XSD文件中的定义和组件定义。 步骤4&#xff1a;创建NamespaceHandlerSupport实现类&#xff0c;目的…

多门店自助点餐+外卖二合一小程序源码系统 带完整搭建教程

随着餐饮业的快速发展和互联网技术的不断进步&#xff0c;越来越多的餐厅开始采用自助点餐和外卖服务。市场上许多的外卖小程序APP应运而生。下面罗峰来给大家介绍一款多门店自助点餐外卖二合一小程序源码系统。该系统结合了自助点餐和外卖服务的优势&#xff0c;为餐厅提供了一…

Redis极速上手开发手册【Redis全面复习】

文章目录 什么是RedisRedis的特点Redis的应用场景Redis安装部署Redis基础命令Redis多数据库特性Redis数据类型Redis数据类型之stringRedis数据类型之hashRedis数据类型之listRedis数据类型之setRedis数据类型之sorted set案例&#xff1a;存储高一班的学员信息 Redis封装工具类…

解决Java中https请求接口报错问题

1. 解决SSLException: Certificate for &#xff1c;域名&#xff1e; doesn‘t match any of the subject alternative报错问题 1.1 问题描述 最近在做一个智能问答客服项目&#xff0c;对接的是云问接口&#xff0c;然后云问接口对接使用的是https方式&#xff0c;之前一直…

【Vue】组件封装小技巧 — 利用$listener和v-on接收父组件传递的事件

在Vue.js中进行二次封装组件时&#xff0c;$listener是一个非常有用的工具&#xff0c;它允许你轻松地传递父组件的事件监听器到内部元素。 什么是二次封装组件&#xff1f; 二次封装组件是指将一个已存在的组件包装在一个自定义组件中&#xff0c;以添加额外的功能、样式或逻…

「随笔」浅谈2023年云计算的发展趋势

在2023年&#xff0c;云计算的发展趋势将受到政治、经济、社会和科技四个维度的影响。以下是对这些维度的具体分析&#xff1a; 1.1 政治维度&#xff1a; 全球政策推动&#xff1a; 随着全球各国政策对云计算的重视程度不断提高&#xff0c;云计算服务将获得更广泛的市场准入…

浅谈指针函数、函数指针、指针数组、数组指针 简单明了!!!!

指针函数 形如&#xff1a;int* fun(int a, int b) 类比于&#xff1a;int fun(int x, int y)、char fun(int x, int y) 本质上是函数&#xff0c;只是返回值为int类型的指针&#xff0c;以此类推可以有void*、char*、unsigned char*类型等指针&#xff0c;类比于返回值是int …

蓝桥杯-成绩统计[Java]

目录: 学习目标&#xff1a; 学习内容&#xff1a; 学习时间&#xff1a; 题目&#xff1a; 题目描述: 输入描述: 输出描述: 输入输出样例: 示例 1: 运行限制: 题解: 思路: 学习目标&#xff1a; 刷蓝桥杯题库日记 学习内容&#xff1a; 编号502题目成绩统计难度…

产品经理墨刀学习----注册页面

我们做的产品是一个校园论坛学习开发系统&#xff0c;目前才开始学习。 &#xff08;一&#xff09;流程图 &#xff08;二&#xff09;简单墨刀设计--注册页面 &#xff08;1&#xff09;有账号 &#xff08;a&#xff09;直接登录&#xff1a; &#xff08;b&#xff09;忘…

LeetCode 318. 最大单词长度乘积

给你一个字符串数组 words &#xff0c;找出并返回 length(words[i]) * length(words[j]) 的最大值&#xff0c;并且这两个单词不含有公共字母。如果不存在这样的两个单词&#xff0c;返回 0 。 示例 1&#xff1a; 输入&#xff1a;words ["abcw","baz"…