第一部分——Docker篇 第一章 Docker容器

关于系统的改造探索

开篇:系统改造的调研报告

第一部分------Docker篇

第一章 Docker容器
第二章 Docker安装
第三章 构建自定义镜像
第四章 搭建镜像仓库
第五章 容器编排
第六章 容器监控


文章目录


前言

随着业务的发展,传统的架构已经不符合项目的要求了。双活、集群也渐渐提上了日程。。。


一、就是你了------Docker

在使用之前,先了解下什么是容器 。相信作为开发,大部分人都使用VmwareVirtualBox 之类的虚拟机 软件装过Linux 系统,简单来说,容器 可以理解成一个mini版的虚拟机 。那为什么不直接用虚拟机 而是选用容器 呢?主要还是因为虚拟机 太重了,虚拟机 拥有操作系统完整的功能,但运行一个系统,不需要那么多的东西。像平时用虚拟机 装个Linux 系统,动辄4C4G起步,装的软件一多还得继续往上砸硬件,显然这成本就太高了。容器 就是基于这种情况下出现的,之所以轻量级,是除了软件必虚的环境之外,不安装多余的东西。之所以可移植,是容器 屏蔽了环境之间的差异,如果说是java 是一次编译,四处运行。那么容器就是一次打包,四处部署(相对而言)。计算机的世界,果然没有什么是加一层不能解决的,如果有,那就再加一层

了解完容器化 ,接下来就要挑选下用哪种容器化技术了。现在市面上的容器化 的技术有很多了,如:Containerd、 CRI-O、Docker 等。基于文档以及适用性的考虑,这里就选用Docker作为容器化工具

注:实际上容器并不是一个mini版的虚拟机,而是更加轻量级和灵活的解决方案。这里只是为了方便理解,容器共享宿主操作系统的内核,因此不需要额外的操作系统内核和资源。与此相比,虚拟机需要独立的操作系统和资源,因此更加笨重。容器并没有实现真正意义上的跨平台,还是依赖于操作系统,在部署的过程中,发现Linux打包的镜像无法再Windows部署,不过细想下:容器打包的镜像包含操作系统,Linux下打包的镜像,自然无法导入Windows。貌似也没毛病


二、Docker概览

一说到Docker ,想必大家脑海里都会浮现一只鲸鱼驮着一堆集装箱的图片,鲸鱼驮着一堆集装箱游走在各个海域。事实也是如此,鲸鱼就是Docker ,而集装箱,则是我们在Docker上打包安装的软件,海域则是不同的环境

了解完Docker ,接下来再来看下Docker 的架构,看下Docker具体怎么执行的。下边是官方给出的流程图,如下:

可以看出,Docker 主要分为:客户端、守护进程、仓库、镜像 这几部分。下边就一一来看下这几个某块分别的作用

守护进程(Docker daemon)

守护进程Docker 最核心的部分。负责处理客户端请求,监控容器运行状态、处理容器生命周期,管理资源,如:镜像、容器、网络都是由守护进程在管理,

客户端(Docker client)

客户端 就比较简单了,像平时敲得命令:docker、docker-compose 都属于客户端客户端 负责向守护进程发起请求

镜像(Images)、容器(Containers)

镜像(Images)、容器(Containers)、网络(networks)、卷(volumes)都属于docker 对象的一部分,这里主要说说下镜像和容器

镜像容器 的关系有点类似于对象 的关系,镜像 是类(class)提供只读模板,容器 是基于镜像 创建的实例(instance),镜像 提供了容器 运行所需的文件系统和配置信息,而容器 则是镜像的一个具体实例,包含了运行时的状态和数据

仓库(Docker registries)

仓库 就比较好理解了,现在一般会部署集群,这时候如果没有仓库 ,就需要把各个镜像 上传到对应的服务器再进行安装,这显然不符合快速部署的要求,而且也存在版本管理和权限等问题。所以,一般会把镜像 发布在仓库 上,Docker自己去下载即可

那么这几个组件之间是如何配合工作的呢?以docker run 命令为例,大体流程:客户端 发起请求,守护进程 先查看本地是否存在镜像,不存在则去仓库 下载,而后创建出容器
访问 存在 不存在 下载 开始 docker daemon 本地存在? 本地 仓库 结束


总结

这篇先简单了解下Docker 和容器化技术,后边开始真正的使用。当然,上边都是个人在使用Docker时候的体验和理解,如果存在问题,欢迎大家指出

相关推荐
Big__Star17 分钟前
Windows 上配置 Docker,Docker 的基本原理和用途,以及如何在 Docker 中运行程序
windows·docker·容器
L汐27 分钟前
05 部署Nginx反向代理
运维·nginx·github
南方以南_43 分钟前
CentOS相关操作hub(更新中)
linux·运维·centos
斯普润布特2 小时前
Centos系统资源镜像配置
linux·运维·centos
雨笋情缘2 小时前
【2025-05-22】XXL-JOB 的 8810 端口添加到 CentOS 6.5 的防火墙白名单
linux·运维·centos
xzl042 小时前
centos yum源,docker源
linux·docker·centos
力软快速开发平台2 小时前
流程自动化引擎:重塑企业数字神经回路
运维·自动化
喝养乐多长不高2 小时前
深入探讨redis:哨兵模式
数据库·redis·缓存·docker·主从复制·哨兵模式
Geek-SX3 小时前
Seata1.8.0安装部署流程linux
linux·运维·服务器
Bonnie_12154 小时前
01-jenkins学习之旅-window-下载-安装-安装后设置向导
运维·jenkins