docker基本(仅供自己参考)

ops/2024/11/15 8:31:38/

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

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服务端发送指令。可以在本地或远程向服务端发送指令


http://www.ppmy.cn/ops/114415.html

相关文章

电子元件制造5G智能工厂物联数字孪生平台,推进制造业数字化转型

5G智能工厂与物联数字孪生平台的融合应用,不仅为电容器制造业注入了新的活力,更为整个制造业的数字化转型树立了新的标杆。电子元件制造过程中,数字孪生平台通过实时监测生产线的各个环节,实现了生产流程的可视化监控。管理人员可…

【工具】Java Excel转图片

【工具】Java Excel转图片 package com.yj.luban.modules.office.excel;import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import javax.imageio.ImageIO; import java.awt.Color; import java.awt.Font; import java.awt.*; import …

IO流中的异常捕获

Java简化 接口AutoCloseable

Android命令行启动settings

在Android设备上,你可以使用命令行启动“设置”应用。以下是通过ADB(Android调试桥)启动“设置”应用的方法: adb shell am start -a android.settings.SETTINGS这个命令将启动设备的“设置”应用。如果你想启动设置中的特定页面…

VB中的垃圾回收(Garbage Collection)机制

在Visual Basic(特别是VB.NET)中,垃圾回收(Garbage Collection, GC)机制是.NET Framework和.NET Core(以及.NET 5/6/7等后续版本)提供的一项核心功能,用于自动管理内存。这一机制对于…

链动321模式小程序开发源码

链动31模式概述 链动31模式是一种基于技术的新型商业模式,它通过激励用户分享和推广,实现用户、企业和平台的共赢。该模式通常涉及商品展示、积分系统、分享推广和排行榜等功能,旨在通过用户之间的社交裂变来扩大销售和品牌影响力。如何开发这…

c++primer 第八章函数编程答案

题一 #include <iostream> using namespace std;void print(char *str, int n 0);int main() {char str[20] "leonardo liu";print(str);print(str, 5);print(str, 16);return 0; }void print(char *str, int n) {static int flag 0; // 唯一初始化flag;if …

HTTPS是如何保证安全传输的

我们都知道https是保证安全传输的&#xff0c;那么究竟是如何保证的呢&#xff1f; 答&#xff1a;通过使⽤对称加密、⾮对称加密、数字证书等⽅式来保证数据的安全传输。 下面&#xff0c;就让我们来详细了解一下&#xff0c;具体是如何做的&#xff1a; 客户端向服务端发送数…