Docker镜像命令汇总笔记

news/2024/12/21 22:31:40/

     1.Docker镜像 

      Docker 镜像是用于部署容器化应用的轻量级、可执行的软件包。它们包含了运行特定应用所需的所有内容,包括代码、运行时环境、系统工具、系统库和设置。Docker 镜像通过文件来实现不同层的分发,每一层对应Dockerfile中的一个指令,如安装软件包或复制文件,这种分层机制允许共享、复用和缓存,从而提高构建效率。

      镜像是只读的,并且是Docker容器生命周期的起点。当需要启动一个容器时,Docker 从镜像中提取文件并在其上创建一个可写层,用于存储运行时数据。每个容器都是从镜像生成的,但容器可以修改其可写层,这些修改不会影响原始镜像。

      用户可以自定义镜像,通过编写Dockerfile并使用`docker build`命令构建,或者从Docker Hub等公共仓库拉取现有的镜像。镜像可以通过`docker pull`命令从远程仓库下载到本地环境,同样,用户可以使用`docker push`命令将本地构建的镜像上传到远程仓库,以便于分享和协作。

      Docker 镜像的这种封装、移植性和版本控制特性,使得它们成为现代应用部署和管理的理想选择。
 

该栏目主要介绍Docker相关的知识,便于自查,持续更新,如果小伙伴们觉得不错的话,请大家收藏与点赞!多多支持!

2. 创建镜像命令

 2.1 docker build

功能:命令用于使用 Dockerfile 文件创建镜像

该命令用于根据指定的 Dockerfile 构建一个新的镜像。Dockerfile 是一个文本文件,包含了用于构建镜像的所有指令。

docker build [OPTIONS] PATH

参数说明:

  • PATH: 指定构建上下文的路径,通常是包含 Dockerfile 的目录路径。

OPTIONS说明:

    --build-arg=[] :设置镜像创建时的变量;--cpu-shares :设置 cpu 使用权重;--cpu-period :限制 CPU CFS周期;--cpu-quota :限制 CPU CFS配额;--cpuset-cpus :指定使用的CPU id;--cpuset-mems :指定使用的内存 id;--disable-content-trust :忽略校验,默认开启;-f :指定要使用的Dockerfile路径;--force-rm :设置镜像过程中删除中间容器;--isolation :使用容器隔离技术;--label=[] :设置镜像使用的元数据;-m :设置内存最大值;--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;--no-cache :创建镜像的过程不使用缓存;--pull :尝试去更新镜像的新版本;--quiet, -q :安静模式,成功后只输出镜像 ID;--rm :设置镜像成功后删除中间容器;--shm-size :设置/dev/shm的大小,默认值是64M;--ulimit :Ulimit配置。--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。--network: 默认 default。在构建期间设置RUN指令的网络模式

示例:

#使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1
docker build -t runoob/ubuntu:v1 .#使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像
docker build github.com/creack/docker-firefox#也可以通过 -f 指定Dockerfile 文件的位置  
docker build -f /path/to/a/Dockerfile 

 docker build构建上下文路径(PATH)可以是一个本地的文件路径,也可以是一个远程 Git 仓库的 URL,如果构建过程中需要访问私有仓库,需要先登录到该仓库。构建镜像是一个相对耗时的过程,特别是对于大型应用,因为它需要逐层构建。

2.2 docker commit

功能:依据改动过的容器,创建新镜像并提交

该命令用于从更改过的容器中创建一个新的镜像。这个命令通常在你修改了容器的文件系统,或者想要保存容器当前状态为一个新的镜像时使用

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

参数说明:

  • CONTAINER: 要提交的容器的ID或名称。
  • REPOSITORY: 新镜像的仓库名称。
  • TAG: 新镜像的标签,默认为 "latest"。

OPTIONS说明:

-a, --author="": 设置镜像作者。
-c, --change=[]: 使用Dockerfile指令来修改镜像。
-m, --message="": 设置提交信息。
-p, --pause: 在提交过程中暂停容器

示例:

docker commit -a "作者" -m "描述" container_id myrepo:mytagdocker commit container_id myrepo:mytag

docker commit提交的镜像不会包含容器的历史记录或元数据,它仅仅是当前容器的快照,如果容器正在运行,docker commit 命令会先暂停容器,通常建议使用 Dockerfile 来创建镜像,因为这样更可控和可重复。

3. 镜像展示

3.1 docker images

功能:列出本地镜像

该命令用于列出本地机器上的镜像。它显示了镜像的仓库名称、标签、镜像ID、创建时间和大小等信息。

表头说明:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签版本号
  • IMAGE ID:镜像I的D
  • CREATED:镜像的创建时间
  • SIZE:镜像的大小

Tag说明:

同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用 mysql,docker 将默认使用 mysql:latest 镜像

docker images [OPTIONS] [REPOSITORY[:TAG]]

参数说明:

  • REPOSITORY: 镜像的仓库名称。
  • TAG: 镜像的标签。

OPTIONS说明:

-a,--all   #列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests   #显示镜像的摘要信息;
-f,--filter #显示满足条件的镜像;
--format    #指定返回值的模板文件;
--no-trunc  #显示完整的镜像信息;
-q,--quiet  #只显示镜像ID

示例:

#查看本地镜像列表
docker images  # 列出所有的镜像
docker images -a#列出本地镜像中为ubuntu的镜像列表 
docker images  ubuntu # 仅列出镜像的ID
docker images -q

3.2 docker image ls

功能:列出本地镜像

docker image ls 是一个简写命令,它实际上是 docker images 命令的别名。它用于列出本地机器上的 Docker 镜像。

docker image ls [OPTIONS] [REPOSITORY[:TAG]]

参数说明:

  • REPOSITORY: 镜像的仓库名称。
  • TAG: 镜像的标签。

OPTIONS说明:

-a, --all: 显示所有的镜像(包括中间镜像)。
--digests: 显示镜像的摘要信息。
-f, --filter: 根据条件过滤镜像。
--no-trunc: 不截断输出。
-q, --quiet: 仅显示镜像的ID。
--viz: 以树状图的形式显示镜像的层级关系。

示例:

docker image ls -adocker image ls -q

4.获取与推送镜像

4.1 docker pull

 功能:下载镜像,用于从镜像仓库中拉取一个镜像或仓库

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

 参数说明:

  • NAME: 镜像的名称。
  • TAG: 镜像的标签,默认为 "latest"。
  • DIGEST: 镜像的摘要。

OPTIONS说明: 

-a, --all-tags: 拉取指定仓库的所有标签。
--disable-content-trust: 拉取时不验证镜像的真实性。
--filter: 根据条件过滤镜像。
--quiet, -q: 静默模式,不显示详细输出。

示例

# 拉取最新标签的镜像
docker pull ubuntu# 拉取指定标签的镜像
docker pull ubuntu:18.01# 拉取指定仓库的所有标签的镜像
docker pull -a ubuntu

拉取镜像之前,确保你已经登录到 Docker Hub 或者私有仓库,如果你想要拉取私有镜像,需要先使用 docker login 命令登录到相应的仓库,拉取镜像是一个网络操作,可能需要一些时间,特别是对于较大的镜像。

4.2 docker push

功能:将本地的镜像上传到镜像仓库

该命令用于将本地的镜像上传到镜像仓库中。这通常是在 Docker Hub 或者其他私有的 Docker 仓库中进行操作。

docker push [OPTIONS] NAME[:TAG]

参数说明:

  • NAME: 镜像的名称。
  • TAG: 镜像的标签,默认为 "latest"。

OPTIONS说明:

-a, --all-tags:推送指定仓库的所有标签。
--disable-content-trust:关闭对推送镜像的数字签名。

示例:

# 推送最新标签的镜像
docker push username/repository:latest# 推送指定标签的镜像
docker push username/repository:tagname

在推送镜像之前,确保你已经登录到目标仓库。可以使用 docker login 命令进行登录,镜像名称通常包括用户名和仓库名,格式为 username/repository。

5. 删除镜像

5.1 docker rmi

功能:用于删除一个或多个本地的镜像

docker rmi [OPTIONS] IMAGE [IMAGE...]

参数说明:

  • IMAGE: 要删除的镜像的名称或ID

OPTIONS说明:

-f, --force: 强制删除镜像,即使该镜像被容器引用。
--no-prune: 不自动清理未使用的父镜像。
-q, --quiet: 静默模式,不显示删除的镜像ID。

示例:

# 删除单个
docker rmi  镜像ID# 删除多个
docker rmi  镜像名1:TAG 镜像名2:TAG# 删除全部
docker rmi  $(docker images -qa)# 强制删除
docker rmi -f username/repository:tagname

不能删除正在运行的容器所使用的镜像。如果需要删除这样的镜像,你首先需要停止并删除使用该镜像的所有容器。除非你用强制删除。删除镜像之后,任何基于该镜像创建的容器都将无法正常工作,除非你重新拉取或构建该镜像


5.2 docker image rm

功能:docker image rm 是 docker rmi 命令的旧称,用于删除一个或多个本地的 Docker 镜像。从 Docker 1.25 版本开始,推荐使用 docker rmi 命令来替代 docker image rm。

docker image rm [OPTIONS] IMAGE [IMAGE...]

参数说明:

  • IMAGE: 要删除的镜像的名称或ID。

OPTIONS说明:

-f, --force: 强制删除镜像,即使该镜像被容器引用。
--no-prune: 不自动清理未使用的父镜像。

示例:

# 删除指定的镜像
docker image rm username/repository:tagname# 强制删除镜像,即使它正在被容器使用
docker image rm -f username/repository:tagname# 删除多个
docker image rm username/repository:tag1 username/repository:tag2

尽管 docker image rm 仍然可以使用,但是既然Docker更新了,我们就使用 docker rmi 命令。和官方保存一致。

6.镜像TAG

6.1 docker tag

 功能:标记本地镜像,将其归入某一仓库

该命令用于给本地的镜像打上一个标签,通常用于准备将镜像推送到镜像仓库

docker tag [OPTIONS] IMAGE [IMAGE...] [REGISTRY_HOST/][USERNAME/]NAME:TAG

参数说明:

  • IMAGE: 要打标签的镜像的名称或ID。
  • REGISTRY_HOST: 镜像仓库的地址,例如 Docker Hub 的地址是 docker.io
  • USERNAME: 用户名,如果你在私有仓库中推送镜像,需要指定用户名。
  • NAME: 镜像的名称。
  • TAG: 镜像的标签,通常用于指定镜像的版本。

OPTIONS说明:

-f, --force: 覆盖现有的标签。

 示例:

#将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像
docker tag ubuntu:15.10 runoob/ubuntu:v3 # 给镜像打上标签并指定仓库地址
docker tag existing-image registry.example.com/username/new-image:tag# 覆盖现有的标签
docker tag -f existing-image new-image:tag

我们可以给同一个镜像打上多个标签,方便管理和分发,标签分类可以使我们更好的管理镜像。

6.2 docker image tag

功能:docker tag 的别名。

docker image tag 是 docker tag 命令的另一种说法,两者完全相同,用于给本地的 Docker 镜像打上一个新的标签(tag)。这通常是为了准备将镜像推送到远程仓库,或者是为了在本地更好地组织和管理镜像

docker image tag [OPTIONS] IMAGE [IMAGE...] [REGISTRY_HOST/][USERNAME/]NAME:TAG

 参数说明:

  • IMAGE: 要打标签的镜像的名称或ID。
  • REGISTRY_HOST: 镜像仓库的地址,例如 Docker Hub 的地址是 docker.io
  • USERNAME: 用户名,如果你在私有仓库中推送镜像,需要指定用户名。
  • NAME: 镜像的名称。
  • TAG: 镜像的标签,通常用于指定镜像的版本。

OPTIONS说明:

-f, --force: 覆盖现有的标签。

示例:

docker image tag existing-image new-image:tagdocker image tag existing-image registry.example.com/username/new-image:tagdocker image tag -f existing-image new-image:tag

7. 搜索镜像

7.1 docker search

功能:搜索仓库中的镜像,相当于在百度网页中搜索,查询网站 https://hub.docker.com,该命令用于在 Docker Hub 上搜索镜像。你可以使用关键词来搜索,也可以通过其他参数来过滤搜索结果。

表头说明:

  • NAME:镜像名称
  • DESCRIPTION:镜像说明
  • STARS:点赞数量
  • OFFICIAL:是否是官方的
  • AUTOMATED是否是自动构建的

操作命令:


docker search [OPTIONS] TERM

参数说明:

  • TERM: 搜索的关键词。

OPTIONS说明:

--automated: 只显示自动构建的镜像。
--filter "KEY=VALUE": 根据指定的参数过滤结果。
--no-trunc: 不截断输出。
-s, --stars: 只显示评价大于指定数字的镜像。
--limt, --filter: 设置返回结果的数量。

示例:

# 搜索关键词为 "ubuntu" 的镜像
docker search ubuntu# 搜索出Stars大于3000的
docker search mysql --filter=STARS=3000 # 只列出N个镜像,默认5个
docker search --limit 5 redis# 搜索自动构建的镜像
docker search --automated

8.导入/导出镜像

 8.1 docker import

功能:从归档文件中创建镜像

该命令用于从一个 tar 文件或 URL 导入容器快照,从而创建一个新的 Docker 镜像。与 docker load 不同,docker import 可以从容器快照中创建新的镜像,而不需要保留镜像的历史和元数据。

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

参数说明:

  • file|URL|-: 输入文件的路径、本地文件或 URL,或者使用 - 从标准输入读取。
  • REPOSITORY[:TAG]: (可选)为导入的镜像指定仓库和标签。

OPTIONS说明:

-c, --changes:在导入镜像时,对Dockerfile进行修改。
-m, --message:设置导入镜像的提交信息。
-u, --author:设置导入镜像的作者。

示例:

# 从本地 tar 文件导入镜像
docker import mycontainer.tar mynewimage:latest# 从 URL 导入镜像
docker import http://example.com/mycontainer.tar mynewimage:latest# 从标准输入导入镜像
cat mycontainer.tar | docker import - mynewimage:latest# 在导入过程中应用变更
docker import -c "ENV LANG=en_US.UTF-8" -c "CMD /bin/bash" mycontainer.tar mynewimage:latest

docker import 创建的镜像不会保留原始镜像的历史和元数据。使用 -c 选项可以在导入过程中应用 Dockerfile 指令,从而自定义新镜像的配置。导入的 tar 文件必须是使用 docker export 创建的容器快照,或者是兼容的其他格式,

8.2 docker load 

功能:命令用于从 tar 归档文件加载一个镜像或一组镜像到本地 Docker 镜像库中。这通常用于备份镜像或在不同主机之间迁移镜像

docker load [OPTIONS]

OPTIONS说明:

-i, --input="": 指定输入文件,通常是一个 tar 文件,包含镜像数据。
-q, --quiet: 静默模式,不显示加载过程的详细信息。

示例:

# 从标准输入加载镜像
cat myimage.tar | docker load# 从指定文件加载镜像
docker load --input myimage.tar# 静默模式下加载镜像
docker load --input myimage.tar --quiet

注意事项

  • 使用 docker load 命令加载的镜像保留了其历史和元数据。
  • 可以使用 docker save 命令将镜像保存为 tar 文件,然后使用 docker load 命令加载。
  • 确保 tar 文件是有效的 Docker 镜像存档,否则加载过程可能会失败。

docker import 的区别

  • docker load 用于加载由 docker save 命令保存的镜像。
  • docker import 用于从容器快照创建镜像,不保留镜像的历史和元数据。

 8.3 docker save

功能: 将指定镜像保存成 tar 归档文件,该命令用于将一个或多个本地镜像保存到一个 tar 归档文件中。这通常用于备份镜像或在不同主机之间迁移镜像。

docker save [OPTIONS] IMAGE [IMAGE...]

参数说明:

  • IMAGE: 要保存的镜像的名称或ID。

OPTIONS说明:

-o, --output="": 指定输出文件的名称,如果不指定,输出将被发送到标准输出。

 示例:

# 将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3# 将mysql:5.7镜像打包归档
docker save -o /home/docker/mysql5.7.tar mysql:5.7# 将镜像保存到标准输出
docker save myimage:latest > myimage.tar#将镜像保存到指定文件
docker save -o myimage.tar myimage:latest# 保存多个镜像到同一个文件
docker save -o myimages.tar myimage1:latest myimage2:latest

注意事项

  • 使用 docker save 命令保存的镜像包含了其历史和元数据。
  • 保存的 tar 文件可以用于 docker load 命令来加载镜像。
  • 保存大型镜像或多个镜像可能会生成非常大的 tar 文件,这可能会占用大量的磁盘空间。

与 docker export 的区别

  • docker save 用于保存镜像,包括镜像的所有层和元数据。
  • docker export 用于导出容器的文件系统快照,不包括镜像的构建上下文或历史。

9. 查看镜像信息

9.1 docker inspect

功能:显示一个容器或镜像的元数据,该命令用于获取有关 Docker 对象(容器、镜像、网络或卷)的详细信息。这个命令对于调试和获取对象的配置非常有用。

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

参数说明:

  • NAME|ID: 要检查的容器、镜像、网络或卷的名称或ID。

OPTIONS说明:

-f, --format:格式化输出,使用Go模板格式化。
-s, --size:显示总大小。
--type:返回给定类型的信息("container"或"image")

示例:

# 获取容器的详细信息
docker inspect mycontainer# 以 JSON 格式获取镜像的详细信息
docker inspect myimage:latest# 格式化输出容器的 IP 地址
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mycontainer# 获取容器的总大小
docker inspect -s mycontainer

输出默认为 JSON 格式,除非使用 --format 选项进行格式化,可以使用 --format 选项来定制输出,例如提取特定的字段或属性,如果需要检查多个对象,可以一次性传递多个名称或ID。

9.2 docker image inspect

功能:docker inspect 的别名,用于获取有关 Docker 镜像的详细信息,包括镜像的配置、层级结构、标签等。这个命令对于调试和获取镜像的配置非常有用

docker image inspect [OPTIONS] IMAGE [IMAGE...]

参数说明:

  • IMAGE: 要检查的镜像的名称或ID。

OPTIONS说明:

-f, --format="": 用于格式化输出的模板。
-s, --size: 显示总大小。
--verbose: 显示详细的输出。

示例:

# 获取镜像的详细信息
docker image inspect myimage:latest# 格式化输出镜像的标签
docker image inspect --format='{{.Config.Labels}}' myimage:latest# 获取镜像的总大小
docker image inspect -s myimage:latest# 显示详细的输出
docker image inspect --verbose myimage:latest

10.清理镜像

 10.1 docker image prune

功能:命令用于删除所有悬空(dangling)的镜像。悬空镜像是指那些没有被任何容器引用的镜像,通常是因为使用了 docker build 构建新镜像后,旧的中间层镜像不再需要了

docker image prune [OPTIONS]

OPTIONS说明:

-a, --all: 删除所有镜像,不仅仅是悬空的。
-f, --force: 强制删除,不进行确认提示。
-filter: 提供过滤器条件来删除指定的镜像。

 示例:

# 删除所有悬空镜像
docker image prune# 强制删除所有悬空镜像,不进行确认提示
docker image prune -f# 删除所有镜像 这将删除所有镜像,不仅仅是悬空的
docker image prune -a# 使用过滤条件删除镜像
docker image prune --filter "label=<key>=<value>"

使用 -a 选项时要非常小心,因为它会删除所有镜像,包括那些正在被使用的镜像,在执行 docker image prune 之前,建议先运行 docker images 命令查看哪些镜像是悬空的。定期清理悬空镜像可以帮助释放磁盘空间

10.2 docker system prune

功能:用于清理 Docker 系统,删除悬空(dangling)的镜像,同时也删除悬空的容器、网络和卷。这个命令是快速清理未使用资源的便捷方式

docker system prune [OPTIONS]

OPTIONS说明: 

-a, --all: 删除所有停止的容器(不只是悬空的)。
-f, --force: 强制删除,不进行确认提示。
-volumes: 也删除悬空的卷。
-filter: 提供过滤条件来删除指定的资源。

示例:

# 删除所有悬空的镜像、容器、网络和卷
docker system prune# 强制删除所有悬空的资源,不进行确认提示
docker system prune -f# 删除所有停止的容器 不只是悬空的
docker system prune -a# 删除所有资源,包括悬空的卷
docker system prune --volumes# 使用过滤条件删除资源
docker system prune --filter "until=24h"

11.签名镜像

11.1 docker trust

功能:是 Docker Engine 的一个特性,它允许你对 Docker 镜像进行数字签名和验证。这样,你可以确保镜像的完整性和来源的真实性。使用 docker trust 命令,你可以签署镜像,查看签署的镜像信息,以及撤销对镜像的签名。

操作步骤:

# 生成签名密钥 这将生成一个密钥对,用于签署镜像。私钥应该妥善保管,公钥可以分享到 Docker 信任存储库
docker trust key generate <signer_name># 将公钥添加到 Docker 信任存储库 以便可以对镜像进行签名
docker trust signer add <signer_name> <repository_name># 对镜像进行签名 使用你的私钥对指定的镜像标签进行签名。签名后,你可以将签名的镜像推送到 Docker 信任存储库
docker trust sign <repository_name>:<tag># 查看镜像的签名信息
docker trust inspect <repository_name>:<tag># 撤销镜像的签名
docker trust revoke <repository_name>:<tag># 启用内容信任
export DOCKER_CONTENT_TRUST=1

请注意,docker trust 命令通常与 Docker 的内容信任(Content Trust)系统一起使用,该系统提供了一种机制来确保镜像的真实性和完整性

12.其他镜像命令

 12.1 docker history

功能: 查看指定镜像的创建历史

该命令用于获取一个 Docker 镜像的构建历史和元数据。这个命令列出了用于创建镜像的每一层的元数据,包括每层的创建时间、作者、大小以及构建这一层所用的 Dockerfile 指令

docker history [OPTIONS] IMAGE

参数说明:

  • IMAGE: 指定要查看历史的镜像名称或ID。

OPTIONS说明:

    -H :以可读的格式打印镜像大小和日期,默认为true;--no-trunc :显示完整的提交记录;-q :仅列出提交记录ID。

示例:

# 查看镜像的历史 
docker history myimage:latest# 仅显示每层的ID
docker history -q myimage:latest# 显示完整的提交信息
docker history --no-trunc myimage:latest

输出信息

  • IMAGE ID: 镜像层的唯一ID。
  • CREATED BY: 创建这一层的命令或Dockerfile指令。
  • CREATED: 创建这一层的时间。
  • SIZE: 这一层的大小。
  • COMMENT: 构建过程中添加的注释(如果有)

13.最后

感谢大家,请大家多多支持!


http://www.ppmy.cn/news/1536957.html

相关文章

YOLO11 实例分割模型做行人分割

实例分割是检测和隔离图像中单个对象的关键技术,YOLO11 是执行这项任务的最佳模型之一。在本文中,你将学习如何使用 YOLO11 分割模型有效地在图像中分割人物。我们将涵盖从设置 Python 环境和安装必要的库,到下载测试图像和可视化分割结果的所有内容。通过本教程的学习,你将…

购物网站毕业设计-电子电器商城管理系统SpringBootSSM框架开发

目录 1. 系统概述 1.1背景介绍 1.2 课题意义 1.3课题目标 2. 主要功能模块 2.1 前端用户模块 2.2 后端管理模块 2.3 功能图展示 3. 技术选型 3.1 VUE介绍 3.2 JAVA介绍 3.3 MySQL介绍 4. 系统设计 4‌.1数据库设计 5 详细设计 5.1 界面展示 设计一个电子电…

系统统异常和业务异常的区别

系统统异常和业务异常是我们在软件开发和运维过程中经常遇到的问题。虽然两者都会导致系统的不可用&#xff0c;但是它们之间还是存在区别的。 什么是系统异常&#xff1f; 系统异常指的是由于系统发生错误或者不可预料的情况而导致的系统崩溃或不可用的情况。系统异常通常是…

下个时代的开发工具-Nix:声明式的运行环境构建器、简单场景下的docker替身

个人的一点拙见 &#xff1a; 声明式范式会成为以后软件工程靠近应用侧主要的开发方式。比较典型的包括Docker&#xff0c;算是一个老前辈&#xff0c;晚一点在介绍。先来一个比较基础的&#xff0c;Nix 在开发的过程中&#xff0c;相信小伙伴们肯定用到一些环境管理的工具&…

以openai的gpt3 5为例的大模型流式输出实现(原始、Sanic、Flask)- 附免费的key

以openai的gpt3.5为例的大模型流式输出实现&#xff08;原始、Sanic、Flask&#xff09;- 附免费的apikey水龙头 type: Post status: Draft date: 2024/10/09 &#x1f600; 前言&#xff1a; 为什么需要流式输出这里就不多言了&#xff0c;本文主要介绍几种框架的流式输出的实…

openEuler 24.03 (LTS) 部署 K8s(v1.31.1) 高可用集群(Kubespray Ansible 方式)

写在前面 实验需要一个 CNI 为 flannel 的 K8s 集群之前有一个 calico 的版本有些旧了,所以国庆部署了一个v1.31.1 版本 3 * master 5 * work时间关系直接用的工具 kubespray博文内容为部署过程以及一些躺坑分享需要科学上网理解不足小伙伴帮忙指正 &#x1f603;,生活加油 99…

MATLAB - 机器人机械臂设计轨迹规划器

系列文章目录 前言 本示例介绍了一种设计抓取和轨迹规划器的方法&#xff0c;该规划器可用于垃圾箱拣选系统。 在机器人技术中&#xff0c;垃圾箱拣选包括使用机械手从垃圾箱中取出物品。智能垃圾箱拣选是这一过程的高级版本&#xff0c;具有更强的自主性。使用摄像系统感知部件…

夜间数据库IO负载飙升?MySQL批量删除操作引发的问题排查

目录 问题现象 问题分析 修改建议 总结 问题现象 近日&#xff0c;某用户反馈他们的MySQL数据库实例在凌晨时段会频繁出现IO负载急剧上升的情况&#xff0c;这种状态会持续一段时间&#xff0c;随后自行恢复正常。为了查明原因&#xff0c;该用户通过DBdoctor工具收集了相…