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

1.认识Docker

Docker学习

1.doker概述

2.doker安装

3.doker命令

镜像命令

容器命令

操作命令

........

4.doker镜像

5.容器数据卷

6.Dockerfile

7.Docker网络原理

8.IDEA整合Docker

9.集群,docker compose(集群管理)

10.docker swarm(简化版的k8s)

11.CI\CD Jenkins

一.Docker概述

1.Docker为什么出现

(1)一个产品:开发-上线,两套环境,应用环境,应用配置(端口等等)

开发人员,运维人员

开发即运维

环境配置十分的麻烦,每个机器都需要部署集群(redis集群,ES集群,Hadoop。。。)非常费力。

比如现在我们需要发布一个项目,以前配置环境,发布一个jar,var包,,现在的话这个jar包需要(redis,MYsql,jdk ES环境)。

现在我们项目可不可以直接带着这个配置环境一起发布(jar+(jdk,redis,mysql)),这个就是doker的作用

传统:开发jar,运维来做

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

java---apk---发布(应用商店)---张三只用下载这个apk就能使用

java-jar(环境)---打包项目带上环境(镜像)(类比window)---docker仓库(商店)---直接运行即可

跑了一个JRE--多个应用--端口冲突---原来是交叉

隔离:docker核心思想,打包装箱,每个箱子是相互隔离的(通过镜像)

docker通过隔离机制,将我们的服务器利用到极致

Docker历史

docker相比较与虚拟机更轻巧

在容器出来之前,用的都是虚拟机

虚拟机:在windows中装vmware,通过一个虚拟机进行一台或者多台,笨重

虚拟机是一种虚拟技术,docker容器技术也是一种虚拟技术!

VM:Linux Centos原生镜像(一个电脑),隔离,需要开启多个虚拟机,几分钟,几个G

Docker:隔离,镜像(最核心的环境jdk,mysql),十分的轻巧,运行镜像即可,几秒,几M

Docker是基于go语言开发,开源项目

2.Docker能干什么?

之前的虚拟机技术:传统是内核(操作系统)+环境(自行下载)+应用app

缺点:

1.资源占用十分多

2.冗余资源多

3.启动很慢

容器化技术:并不是完整的系统,只是保有内核,通过容器(环境+应用)

DevOps(开发、运维)

应用更快速的交付和部署

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

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

更便捷的升级和扩缩容

使用Docker之后,更像搭积木一样,比如现在这个项目,有spring boot,redis5 ,tomcat 8,之前需要一个个升级,而通过docker,直接打包为一个镜像

更简单的系统运维

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

更高效的计算资源利用:

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

相关文章:

  • 第十二节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 两种权限控制方式(附前后端代码)
  • 《伴时匣》app开发技术分享--表单提交页(5)
  • STM32H723ZGT6-修改内存分布以定义很大的数组
  • HarmonyOS 公共事件机制介绍以及多进程之间的通信实现(9000字详解)
  • FPGA实现CameraLink视频解码,基于Xilinx ISERDES2原语,提供4套工程源码和技术支持
  • 闲庭信步使用SV搭建图像测试平台:第十九课——YCbCr图像转RGB图像
  • 多模态大语言模型arxiv论文略读(143)
  • python基础23(2025.6.29)分布式爬虫(增量式爬虫去重)redis应用_(未完成!)
  • Vue列表渲染与数据监测原理
  • win上对调ctrl和alt键
  • Gemini cli Quickstart
  • Conda 环境配置之 -- Mamba安装(causal-conv1d、mamba_ssm 最简单配置方法)-- 不需要重新配置CDUA
  • 【FreeRTOS-任务通知】
  • 【Linux高级全栈开发】2.4 自研框架:基于 dpdk 的用户态协议栈的实现
  • 数据结构 哈希表、栈的应用与链式队列 6.29 (尾)
  • 模拟工作队列 - 华为OD机试真题(JavaScript卷)
  • Python 数据分析与可视化 Day 11 - 特征工程基础
  • 从0开始学linux韦东山教程Linux驱动入门实验班(3)
  • python中多线程:线程插队方法join详解、线程停止、通过变量来让线程停止
  • Java面试宝典:基础五