docker基本(仅供自己参考)

一、大型项目部署的问题:

1、大型项目的组件比较多,运行环境很复杂,部署通常会遇到各种问题:

(1):依赖关系复杂,容易出现兼容性问题

(2):开发、测试、生产环境有差异(比如centos开发和测试的,上线的时候需要部署到ubutu上,那么两个linux环境的不同就会造成项目出现错误)

二、问题的解决:

1、依赖问题的解决(不同的操作系统需要的依赖不同,并且版本不同的话需要的也不同)

(1):将应该的libs(函数库)、deps(依赖)、配置与应该一起打包

(2):将打包好的每一个应该都放到一个隔离容器(沙箱机制)与运行,避免应用的互相干扰。(解决了应用之间依赖和函数的混乱,现在是每个应用都有一个容器,容器与容器之间互相隔离,就避免了混乱的问题)

2、操作系统的架构:

linux基本的操作系统都可以分为二层:

(1):系统应用:每个系统都有自己的系统,每个系统应该的命令(函数)不同(导致部署项目系统之间的不兼容)

(2):内核:内核接收到每个系统的命令之后,将这些命令转化为相应的指令,这些指令就去操作计算机硬件。

了解了这些之后我们就知道每个系统的函数库(命令库)不同,但是到内核之后就会转为相同的指令,那么这些指令就可以操作计算机硬件了。

由此可知:当我们在每个应用的容器中顺带打包了某个系统的函数库,那么我们就可以部署到任意的一台机器上,而不用管这个机器是那个操作系统了(内核相同就行)

Docke的基本:

Docker:

五、镜像和容器:

1、镜像(Image):Docker将应用程序机器所需的依赖、函数、环境、配置等文件打包在一起,称为镜像。镜像只是可读的,容器只是复制镜像中的数据,然后去运行。

2、容器(Container):镜像中国的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。

六、Docker和DockerHub:

dockerHub类似于gitHub,是一个docker镜像的托管平台,这样的平台被称为DockerRegisty;

七:Docker架构:

docker是cs(客户端-服务端)架构

1、服务端(server):Docker守护进程,负责处理Docker指令,管理(创建)镜像、容器等。

2、客户端(client):通过命令或RestApi向Docker服务端发送指令。可以在本地或远程向服务端发送指令

相关推荐
桌面运维家7 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890757 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻8 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
2601_9498477510 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_6399069410 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗11 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB11 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
codezzzsleep11 小时前
学术汇报 PPT 自动化生成实战指南
运维·自动化·powerpoint
古法老登瞎折腾11 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
讯捷蓝达12 小时前
IBM V3500存储 双控故障、数据怎么恢复?
运维