Docker容器基础篇

一.Docker容器简要介绍

Docker 是一个开源项目,旨在提供轻量级的应用容器化解决方案。它允许开发者打包应用及其所有依赖项到一个标准化的单元中,称为容器。这些容器可以在开发人员的工作环境中构建,然后轻松地在不同的计算机、服务器或云平台上运行,而无需担心环境差异或依赖问题。

1.操作系统的组成

Bootloader (引导加载程序)

引导加载程序是启动计算机时加载操作系统的程序。它位于计算机的固件或引导设备的特定分区中,并负责引导操作系统的加载过程。

Shell (命令行解释器)

Shell 是用户与操作系统交互的主要界面,它可以理解和执行用户输入的命令。Shell 提供了命令行界面(CLI),允许用户通过输入命令来操作文件、进程以及运行其他程序。

Kernel (内核)

内核是操作系统的核心部分,负责管理计算机的硬件资源和提供基本的服务给其他软件。它管理内存、处理器、设备驱动程序和系统调度,确保软件和硬件资源的有效利用和安全运行。

Desktop Environment (桌面环境)

桌面环境是操作系统中提供给用户的图形用户界面(GUI),它包括窗口管理器、面板、图标、工具栏等,使得用户可以通过鼠标点击和图形化方式来操作和管理计算机系统。

Graphical Server (图形服务器)

图形服务器是操作系统的一个子系统,负责管理和渲染图形输出到显示器上。它接收来自应用程序的图形指令,并将它们转换为适合显示器显示的像素信息。

Applications (应用程序)

应用程序是用户直接使用的软件,用于执行特定的任务和操作。这些可以是办公软件如 Word、Excel,也可以是浏览器、媒体播放器等等。

Daemons (守护进程)

守护进程是在后台运行的服务程序,通常在系统启动时启动,并持续运行以提供某种服务或支持功能。它们通常不与用户交互,而是在系统运行时处理特定的任务或服务,例如网络服务、打印服务等。

 2.什么是内核kernel

内核(Kernel)是操作系统的核心组件,它在计算机系统中扮演着至关重要的角色。下面是内核的主要任务和功能:

进程管理

内核负责管理系统中的进程(也称为任务或线程),包括进程的创建、调度、终止和进程间通信。

内存管理

内核管理系统的物理内存和虚拟内存,包括内存的分配、释放、虚拟内存到物理内存的映射等。

I/O管理

内核管理输入输出操作,包括对设备(如硬盘、网络接口、显示器等)的访问和控制。

系统调用

内核提供系统调用接口,允许用户程序请求操作系统提供的服务,如文件操作、网络通信等。

设备驱动程序

内核通过设备驱动程序与硬件设备交互,驱动程序允许内核控制和管理各种硬件设备的操作。

安全性和权限管理

内核确保系统的安全性,包括权限管理、用户身份验证、访问控制等。

系统调度

内核根据预定的调度策略和优先级,决定哪个进程在何时运行,以优化系统资源的利用。

错误处理和容错

内核负责处理系统的错误和异常情况,以保证系统的稳定性和可靠性。

3.什么是内核空间和用户空间

内核空间

内核处于提升的系统状态,其中包括受保护的内存空间以及对设备硬件的完全访问权限。 此系统状态和内存空间统称为内核空间。 在内核空间内,对硬件和系统服务的核心访问进行管理,并作为服务提供给系统的其余部分。

用户空间

用户空间或用户域是在操作系统内核环境之外运行的代码,用户空间定义为操作系统用来与内核连接的各种应用程序或程序或库。

用户的应用程序是在用户空间中执行的,它们可以通过内核系统调用访问计算机可用资源的一部分。 通过使用内核提供的核心服务,可以创建用户级别的应用程序,例如游戏或办公软件。

4.容器和虚拟机表现比较

  1. 资源利用率更高

    容器确实比传统的虚拟机利用资源更高效。这是因为容器直接运行在宿主操作系统的内核上,无需额外的操作系统层,减少了资源消耗。虚拟机则需要独立的操作系统镜像和虚拟化管理层,因此通常会有更大的资源开销。
  2. 启动速度更快

    容器启动速度通常比虚拟机快得多。容器之间可以共享宿主操作系统的内核,因此它们可以在几秒钟内启动,而虚拟机需要启动完整的操作系统,通常需要数十秒到数分钟的时间。
  3. 占用空间更小

    容器通常占用的磁盘空间比虚拟机小得多。容器镜像一般以MB为单位,因为它们共享宿主操作系统的文件系统和资源。虚拟机则需要完整的独立操作系统镜像,因此通常以GB为单位。
  4. 集成性更好

    容器由于其轻量级和快速启动的特性,更适合与持续集成和持续部署(CI/CD)工具集成。开发团队可以更容易地将应用程序打包为容器镜像,并在不同环境中快速部署和运行,实现自动化和高效的开发生命周期管理。

5.Docker的组成

docker 官网: http://www.docker.com

帮助文档链接: https://docs.docker.com/

docker 镜像: https://hub.docker.com/

docker 中文网站:http://www.docker.org.cn/

  • Docker 主机(Host): 一个物理机或虚拟机,用于运行Docker服务进程和容器,也称为宿主机,node节点

  • Docker 服务端(Server): Docker守护进程,运行docker容器

  • Docker 客户端(Client): 客户端使用 docker 命令或其他工具调用docker API

  • Docker 镜像(Images): 镜像可以理解为创建实例使用的模板,本质上就是一些程序文件的集合

  • Docker 仓库(Registry): 保存镜像的仓库,官方仓库: https://hub.docker.com/,可以搭建私有仓库harbor

  • Docker 容器(Container): 容器是从镜像生成对外提供服务的一个或一组服务,其本质就是将镜像中的程序启动后生成的进程

6.验证系统cgroups

Cgroups在内核层默认已经开启,从CentOS 和 Ubuntu 不同版本对比,显然内核较新的支持的功能更多。

grep CGROUP /boot/config-3.10.0-693.el7.x86_64

cgroups具体实现

  • blkio: 块设备IO限制

  • cpu: 使用调度程序为 cgroup 任务提供 cpu 的访问

  • cpuacct: 产生 cgroup 任务的 cpu 资源报告

  • cpuset: 如果是多核心的 cpu,这个子系统会为 cgroup 任务分配单独的 cpu 和内存

  • devices: 允许或拒绝 cgroup 任务对设备的访问

  • freezer: 暂停和恢复 cgroup 任务

  • memory: 设置每个 cgroup 的内存限制以及产生内存资源报告

  • net_cls: 标记每个网络包以供 cgroup 方便使用

  • ns: 命名空间子系统

  • perf_event: 增加了对每 group 的监测跟踪的能力,可以监测属于某个特定的 group 的所有线程以及运行在特定CPU上的线程

7.Docker的缺点

  • 多个容器共用宿主机的内核,各应用之间的隔离不如虚拟机彻底

  • 由于和宿主机之间的进程也是隔离的,需要进入容器查看和调试容器内进程等资源,变得比较困难和繁琐

  • 如果容器内进程需要查看和调试,需要在每个容器内都需要安装相应的工具,这也造成存储空间的重复浪费

二.安装Docker

官方网址: https://www.docker.com/

OS系统版本选择:

Docker 目前已经支持多种操作系统的安装运行,比如Ubuntu、CentOS、Redhat、Debian、Fedora,甚至是还支持了Mac和Windows,在linux系统上需要内核版本在3.10或以上

Docker版本选择:

docker版本号之前一直是0.X版本或1.X版本,但是从2017年3月1号开始改为每个季度发布一次稳定版,其版本号规则也统一变更为YY.MM,例如17.09表示是2017年9月份发布的Docker之前没有区分版本,但是2017年推出(将docker更名为)新的项目Moby,github地址: https://github.com/moby/moby,Moby项目属于Docker项目的全新上游,Docker将是一个隶属于的Moby的子产品,而且之后的版本之后开始区分为 CE(Docker Community Edition,社区版本)和EE(Docker Enterprise Edition,企业收费版),CE社区版本和EE企业版本都是每个季度发布一个新版本,但是EE版本提供后期安全维护1年,而CE版本是4个月,以下为官方原文:

https://blog.docker.com/2017/03/docker-enterprise-edition/

如果要布署到kubernets上,需要查看相关kubernets对docker版本要求的说明,比如:

https://github.com/kubernetes/kubernetes/blob/v1.17.2/CHANGELOG-1.17.md

安装可以参考以下文档

阿里云文档: https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.3e221b11guHCWE

官方文档 : https://docs.docker.com/engine/install/

1.yum安装

CentOS 6 因内核太旧,即使支持安装docker,但会有各种问题,不建议安装

CentOS 7 的 extras 源虽然可以安装docker,但包比较旧,建议从官方源或镜像源站点下载安装docker

CentOS 8 有新技术 podman 代替 docker

因此建议在CentOS 7 上安装 docker

#extras 源中包名为docker
yum list docker官方地址下载 rpm包
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
阿里云地址下载
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/

cd /etc/yum.repos.d/
#CentOS 7 安装docker依赖三个yum源:Base,Extras,docker-ceyum install -y yum-utils device-mapper-persistent-data lvm2
#安装 依赖工具
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#添加源信息
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
#修改配置文件
yum makecache fast
yum list docker-ce
#查看最新版本
yum list --showduplicates docker-ce
#查看所有的可用版本
yum list --help
#可以使用帮助查看
yum list docker-ce.x86_64 --showduplicates
#显示可安装版本
yum -y install docker-ce-19.03.15-3.el7 docker-ce-cli-19.03.15-3.el7  containerd.io
# 安装指定版本的Docker-CE和客户端,注意客户端也要指定,否则或造成不一致
#yum -y install docker-ce-[VERSION]
#如不指定版本默认最新

[root@localhost yum.repos.d]# mkdir -p /etc/docker
[root@localhost yum.repos.d]# tee /etc/docker/daemon.json <<-'EOF'
> {
>   "registry-mirrors": ["https://ifxbyp3x.mirror.aliyuncs.com"]
> }
> EOF
{"registry-mirrors": ["https://ifxbyp3x.mirror.aliyuncs.com"]
}
验证运行
[root@localhost yum.repos.d]# systemctl daemon-reload
[root@localhost yum.repos.d]# systemctl restart docker
[root@localhost yum.repos.d]# docker run hello-world

软件作用
docker-ce(Docker Community Edition)这是 Docker 的社区版。Docker 社区版是免费的, 面向开发者、小型团队和个人使用。它包含了 Docker Engine, 这是一个用于构建和运行容器的开源容器运行时。
docker-ce-cli(Docker Command Line Interface)这是 Docker 的命令行工具, 它允许用户与 Docker Engine 交互,执行容器相关的操作。 通过 Docker CLI,用户可以构建、运行、管理和发布容器。
containerd.io它负责管理容器的生命周期,包括容器的创建、运行、暂停、继续和销毁等

三.基础操作

1.docker程序环境

1.1 环境配置文件

/etc/sysconfig/docker-network
/etc/sysconfig/docker-storage
/etc/sysconfig/docker

1.2  Unit File

/usr/lib/systemd/system/docker.service

1.3  docker-ce 配置文件

/etc/docker/daemon.json

1.4  Docker Registry 配置文件

/etc/containers/registries.conf

2. 基础操作

2.1  查看docker 版本

docker version

2.2 docker 信息查看

[root@localhost data]#docker info 
Client: Docker Engine - CommunityVersion:    26.1.4Context:    defaultDebug Mode: falsePlugins:buildx: Docker Buildx (Docker Inc.)Version:  v0.14.1Path:     /usr/libexec/docker/cli-plugins/docker-buildxcompose: Docker Compose (Docker Inc.)Version:  v2.27.1Path:     /usr/libexec/docker/cli-plugins/docker-composeServer:Containers: 2                     # 容器数量           Running: 0Paused: 0Stopped: 2Images: 4                       # 镜像数量          Server Version: 26.1.4          # server 版本Storage Driver: overlay2        #docker 使用的是 overlay2 文件驱动  Backing Filesystem: xfs        ## 宿主机上的底层文件系统Supports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: cgroupfs          # Cgroups 驱动Cgroup Version: 1Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local splunk syslogSwarm: inactiveRuntimes: io.containerd.runc.v2 runcDefault Runtime: runcInit Binary: docker-initcontainerd version: d2d58213f83a351ca8f528a95fbd145f5654e957runc version: v1.1.12-0-g51d5e94init version: de40ad0Security Options:seccompProfile: builtinKernel Version: 3.10.0-693.el7.x86_64             # 宿主机的相关信息Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 4Total Memory: 1.781GiBName: localhost.localdomainID: 39eee203-7863-4c80-a955-9aef575138c1Docker Root Dir: /var/lib/docker                    # docker 数据存储目录Debug Mode: falseExperimental: falseInsecure Registries:127.0.0.0/8Registry Mirrors:https://6ijb8ubo.mirror.aliyuncs.com/                   # registry 地址Live Restore Enabled: false

2.3 镜像仓库加速

#镜像加速下载
浏览器访问 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 获取镜像加速器配置mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://ifxbyp3x.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

四.镜像管理

制作镜像  上传镜像  下载镜像  查找镜像  导出镜像  导入镜像  删除镜像  查询镜像

命令含义例子
docker --help查看帮助
docker image --help查看镜像帮助docker image --help
docker search 镜像名称搜索相关镜像docker search nginx
docker pull 镜像名称:标签下载镜像(不加标签默认使用latest)docker pull nginx
docker images查看所有已有镜像docker images
docker images 镜像名称查看单个镜像docker images nginx
docker inspect 镜像ID查看镜像的详细信息docker inspect 56b21e040954
docker tag 旧名称 新名称修改镜像的 标签docker tag nginx:latest lucky/nginx:1.25

1.搜索镜像

官方网站进行镜像的搜索

官网: http://www.docker.org.cn/

#格式
docker search 关键字
#NAME: 列出了搜索结果中各个镜像的名称。
#DESCRIPTION: 描述了每个镜像的简要说明或介绍。
#STARS: 显示了每个镜像的星级评分或受欢迎程度。星级数量越高表示该镜像的受欢迎程度越高。
#OFFICIAL: 表示是否是官方构建的镜像,OK表示是官方构建的。
#AUTOMATED: 表示是否是自动构建的镜像,这个字段没有值表示不是自动构建的。

2.下载镜像

从 docker 仓库将镜像下载到本地,命令格式如下

docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Options:-a, --all-tags               Download all tagged images in the repository--disable-content-trust   Skip image verification (default true)--platform string         Set platform if server is multi-platform capable-q, --quiet                   Suppress verbose output#NAME: 是镜像名,一般的形式 仓库服务器:端口/项目名称/镜像名称
#:TAG: 即版本号,如果不指定:TAG,则下载最新版镜像  工作中指定版本号
docker  pull nginx

3.查看镜像的信息

docker images
docker image inspect nginx   #可以指定名字
docker image inspect 605c77e624dd   #指定id
du /var/lib/docker/overlay2/
#此目录下有镜像文件了

4.镜像导出

利用docker save命令可以将从本地镜像导出为一个打包 tar文件,然后复制到其他服务器进行导入使用

格式:

docker save [OPTIONS] IMAGE [IMAGE...]
选项:  
-o, --output string   Write to a file, instead of STDOUT

常见用法:

docker save -o /path/file.tar IMAGE1 IMAGE2 ...
docker save IMAGE1 IMAGE2 ... > /path/file.tar

示例:

docker save alpine >/data/alpine.tardocker save  -o /data/alpine.tar  #-o指定导出目录

5.删除镜像

格式:

docker rmi 镜像名称
docker rmi [OPTIONS] IMAGE [IMAGE...]
docker image rm [OPTIONS] IMAGE [IMAGE...]
#选项:
-f, --force     Force removal of the image--no-prune   Do not delete untagged pdocker images -q
列出系统中所有 Docker 镜像的 ID
docker rmi -f `docker images -q`
#删除所有镜像

示例: 

docker rmi apline

6.恢复镜像

格式:

docker load -i 镜像源路径

示例: 

docker load -i /data/alpine.tar

查看运行中的容器

docker ps -a
#查看运行中的容器

docker run -d httpd
#运行容器 如果没有会去官网下载后运行
#镜像相当于模板   容器相对于虚拟机

7.镜像打标签

docker tag
docker tag busybox 192.168.240.11/data/buysbox:v1.0
docker images
docker rmi 192.168.240.11/data/buysbox:v1.0

8.上传镜像

默认上传到 docker Hub 官方公共仓库,需要注册使用公共仓库的账号,注册地址https://hub.docker.com。
可以使用 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。
在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用 docker push 命令进行上传

docker tag nginx:latest  zxy/nginx:latest
docker images

docker login								
#登录公共仓库

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/zxyjing/zxy:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/zxyjing/zxy:[镜像版本号]
#上传镜像

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

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

相关文章

Redis的分布式锁

目录 一、定义与原理 基于Redis的分布式锁 获取锁 释放锁 锁误删问题&#xff1a;因为key值一样,将别人的锁删掉了 锁误判问题二&#xff1a;判断锁和释放锁不是原子性的 Lua脚本 分布式锁&#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁 分布式锁的优点…

Spring Cache常用注解

依赖代码如下&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency> 常用注解详解 1. Cacheable 作用&#xff1a;主要用于配置方法&#xff0c;使其…

Java编写SIP协议

1、编写Server代码 package com.genersoft.iot.vmp.sip; import javax.sip.*; import javax.sip.message.*; import javax.sip.header.*; import java.util.*;public class SimpleSipServer implements SipListener {private SipFactory sipFactory;private SipStack sipStack…

【前端】一文带你了解 CSS

文章目录 1. CSS 是什么2. CSS 引入方式2.1 内部样式2.2 外部样式2.3 内联样式 3. CSS 常见选择器3.1 基础选择器3.1.1 标签选择器3.1.2 类选择器3.1.3 id 选择器3.1.4 通配符选择器 3.2 复合选择器3.2.1 后代选择器 4. CSS 常用属性4.1 字体相关4.2 文本相关4.3 背景相关4.4 设…

前端必备基础【网络通信】(2024最新版)

Ajax Asynchronous Javascript and XML 的缩写&#xff0c;是使用 JS 发起网络通信的技术统称&#xff0c;具体步骤为&#xff1a; 创建 XMLHttpRequest 实例发出 HTTP 请求接收服务器传回的数据更新网页数据&#xff08;通常是部分内容&#xff0c;而不是整个网页&#xff09…

LLM - 理解 大模型 Batch 推理的 Padding Side (左填充或右填充)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/140697827 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 使用 Left Padding (左填充) 或者 Right Padding (右填充),HuggingFac…

DBeaver安装与使用教程 免费的连接mysql数据库软件

一、DBeaver安装 &#xff08;一&#xff09;Dbeaver下载 DBeaver 是一个通用的数据库管理工具和 SQL 客户端&#xff0c;免费&#xff0c;跨平台&#xff0c;支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。 官网…

带你学会Git必会操作

文章目录 带你学会Git必会操作1Git的安装2.Git基本操作2.1本地仓库的创建2.2配置本地仓库 3.认识一些Git的基本概念3.1操作流程&#xff1a; 4.一些使用场景4.1添加文件场景一4.2查看git文件4.3修改文件4.4Git版本回退4.5git撤销修改 5.分支管理5.1查看分支5.2创建本地分支5.3切…

【C++进阶】AVL树详解

文章目录 1. AVL树的概念2. AVL树结点的定义3. AVL 树的插入3.1 关于平衡因子3.2 插入代码 4. AVL 树的旋转逻辑4.1 不需要旋转4.2 左旋4.3 右旋4.4 双旋4.4.1 先右后左单旋&#xff08;RL 旋转&#xff09;4.4.2 先左后右单旋&#xff08;LR 旋转&#xff09; 4.5 完整插入代码…

C语言 | Leetcode C语言题解之第301题删除无效的括号

题目&#xff1a; 题解&#xff1a; struct Next { int l, r, cl, cr; };void vec_push(char*** v, int* n, char* s) {if (!(*n & *n1)) {*v realloc(*v, sizeof(char*) * ((*n << 1) | 1));}(*v)[(*n)] s; }void dfs(const char* s, int i, struct Next next[],…

图片格式怎么转换?这几种图片格式转换方法简单又高效

图片已成为我们日常生活与工作中不可或缺的一部分。然而&#xff0c;不同平台和应用往往对图片格式有着特定的要求&#xff0c;这就使得图片格式的转换成为了一项必备技能。下面给大家分享5种能够简单高效的转换图片格式方法&#xff0c;快来一起学习下吧。 方法一&#xff1a;…

JavaFX布局-TitledPane

JavaFX布局-TitledPane 常用属性textcontentgraphicexpandedcollapsibleanimated 实现方式Javafxml 提供了一个可折叠的标题栏和一个内容区域内容区域可以嵌套其他布局 常用属性 text 设置标题 titledPane.setText("测试标题");content 内容区域&#xff0c;可以单…

【MySQL是怎样运行的 | 第二篇】MySQL三大日志文件

文章目录 2.MySQL三大日志文件2.1日志文件列表2.1.1 redo log2.1.2 bin log2.1.3 undo log 2.2redo log日志详讲2.3 binglog和redo log有什么区别&#xff1f;2.4一条更新语句的执行过程 2.MySQL三大日志文件 2.1日志文件列表 redo log&#xff1a;重做日志&#xff0c;记录了…

JDK 8 升级 17 及 springboot 2.x 升级 3.x 指南

JDK 8 升级 17 简介 从 JDK 8 升级到 JDK 17 的过程中&#xff0c;有几个主要的变化&#xff0c;特别是 Java Platform Module System (JPMS) 的引入&#xff0c;以及一些包路径的调整。以下是与 JDK 17 相关的一些重要变化&#xff1a; Java Platform Module System (JPMS) …

面试题:MySQL 索引

1. 谈一下你对于MySQL索引的理解?(为什么MySQL要选择B+树来存储索引) MySQL的索引选择B+树作为数据结构来进行存储,使用B+树的本质原因在于可以减少IO次数,提高查询的效率,简单来说就是可以保证在树的高度不变的情况下存储更多的数据: IO效率的提高:在MySQL数据库中,…

E19.【C语言】练习:数组

有序序列合并 描述 输入两个升序排列的序列&#xff0c;将两个序列合并为一个有序序列并输出。 数据范围&#xff1a; 1≤n,m≤1000 &#xff0c; 序列中的值满足 0≤val≤30000 输入描述&#xff1a; 输入包含三行&#xff0c; 第一行包含两个正整数n, m&#xff0c;用空…

大模型的经典面试问题及答案

大语言模型&#xff08;LLM&#xff09;在人工智能中变得越来越重要&#xff0c;在各个行业都有应用。随着对大语言模型专业人才需求的增长&#xff0c;本文提供了一套全面的面试问题和答案&#xff0c;涵盖了基本概念、先进技术和实际应用。如果你正在为面试做准备&#xff0c…

ABB机器人EGM功能简单应用

EGM中使用的是Protocol Buffer2的协议&#xff0c;从Egm.proto模板文件中可以了解到&#xff0c;协议版本没有定义默认为proto2&#xff0c;目前最新版本为proto3。PC安装了RobotStudio 6.08后&#xff0c;在如下路径可以找到egm.proto模板文件。 C:\ProgramData\ABB Industri…

ISP-LSC

1. 概述 Lens shading分为两个部分&#xff0c;亮度均匀性&#xff08;luma shading correction&#xff09;&#xff0c;色彩均匀性&#xff08;colour shading correction&#xff09;。 lens 的各位置和中心的透射率不同&#xff1a;luma shading lens 对不同光谱的shift 不…

NOILinux2.0安装

NOI官方已发布NOILinux2.0&#xff0c;可是如何安装使用呢&#xff1f;我来教你。 首先下载VMWare和NOILinux2.0的ios&#xff0c;当然你用什么虚拟机软件都可以。这里我用的是VMware。 NOIlinux2.0的下载链接&#xff1a; NOI Linux 2.0发布&#xff0c;将于9月1日起正式启用…