当前位置: 首页 > news >正文

【云原生】Docker基本原理及镜像管理

目录

一、Docker概述

1.1 IT架构的演进:

1.2 Docker初始

1.3 容器的特点

1.4 Docker容器与虚拟机的区别

1.5 容器在内核中支持2种重要技术

1.6 Docker核心概念

1)镜像

2)容器

3)仓库

二、安装Docker

2.1 Yum安装Docker

2.2 查看Docker信息

三、Docker的镜像管理命令

3.1 搜索镜像

3.2 获取镜像(下载镜像)

3.3 镜像加速下载

3.4 查看本地有哪些镜像

3.5 查看镜像的详细信息( 获取容器/镜像的元数据 )

3.6 为本地的镜像添加新的标签

3.7 删除镜像

3.8 批量删除镜像

3.9 存出镜像:将镜像保存成为本地文件

3.10 载入镜像:将镜像文件导入到镜像库中

3.11 上传镜像(将镜像上传到官方仓库)

总结

1、Docker是什么?能干什么?

2、Docker容器与虚拟机的区别:

3、 linux六大namespace(命名空间):

4、Docker的三大核心概念:

5、镜像管理命令:


一、Docker概述

1.1 IT架构的演进:

裸金属 → 虚拟机 → 容器→ 函数化、代码化

1-11.png

云计算涌现出很多改变传统IT架构和运维方式的新技术,比如虚拟机、容器、微服务、Serverless(无服务),无论这些技术应用在哪些场景,降低成本、提升效率是云服务永恒的主题。

1.运行物理机,也称为裸金属

2.虚拟机VM,可以在一台物理机上创建多个虚拟机,并把物理配置分发成多个虚拟配置

  • 缺点:性能损耗大,大约损耗50%

虚拟机常用软件:

VMware workstation(windows)

vm Sphere+ESXI (Windows server)

KVM(linux内核)

3.容器 (常用软件:docker、podman、rocket、container)

  • 容器内部自身有一个小型操作系统

4.函数(函数化,代码化)

1-9.jpg

1.2 Docker初始

  • Docker是一个开源的应用容器引擎,基于go语言开发并遵守了apache2.0协议开源。

  • Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。

  • Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。

    (Docker是创建容器的工具。应用运行在容器中,每个容器都有一致的运行环境,所以可以在任何主机中运行。即实现“一次封装,到处运行”的目的。)

Docker的Logo:

  • Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。
  • 鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。

1-8.webp

Docker的设计宗旨:

Docker的设计宗旨:Build,Ship and Run Any App,Anywhere

  • 即通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”的目的。这里的组件,既可以是一个应用,也可以是一套服务,甚至是一个完整的操作系统。
  • docker是创建容器的工具。应用运行在容器中,每个容器都有一致的运行环境,所以可以在任何主机中运行。即实现“一次封装,到处运行”的目的。

1.3 容器的特点

容器化越来越受欢迎,因为容器是:

  • 灵活:即使是最复杂的应用也可以集装箱化。
  • 轻量级:容器利用并共享主机内核。
  • 可互换:可以即时部署更新和升级。
  • 便携式:可以在本地构建,部署到云,并在任何地方运行。
  • 可扩展:可以增加并自动分发容器副本。
  • 可堆叠:可以垂直和即时堆叠服务。

1.4 Docker容器与虚拟机的区别

容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占用共他任何可执行文件的内存,非常轻量。

虚拟机运行的是一个完整的操作系统,每个虚拟机使用独立的内核,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。

使用类型功能KVM虚拟机Docker容器Docker容器的提升
日常运维CPU利用率利用率低且不均利用率高、均匀提高了CPU的利用率
硬盘空间占用20G ~ 200G150M ~ 300M极大降低了硬盘空间的占用,避免了空间浪费
内存占用共享2G ~ 32G内存根据服务占用内存避免了内存不足的问题
服务器支持数量20个左右1000+降低成本
启动速度以分钟计量,较慢,主要是操作系统启动较为耗时以秒计量,其启动速度就是启动一个进程的时间遇到问题可快速重启或者回滚
项目延伸拓展项目需要重新部署虚拟机,过程复杂通过云平台扩容,比较方便扩容方便、快捷
新上线项目开发、测试、生产环境很难实现同步,容易出现问题能够实现所有环境统一标准,不再依赖操作系统和软件库效率大幅度上升
特性Docker容器虚拟机
内核的使用共享内核独立内核
启动速度秒级(相当于启动一个进程)分钟级(启动操作系统)
计算能力损耗几乎无损耗 50%左右
性能接近原生弱于
系统支持量(单机)上千个几十个
隔离性资源隔离/限制完全隔离(因为是独立的操作系统)
操作系统主要支持Linux几乎所有(KVM)
封装程度只打包项目代码和依赖关系,共享宿主机内核完整的操作系统,与宿主机隔离
  • docker就相当于宿主机的一个进程,所以损耗微乎其微。
  • 虚拟机和操作系统之间是hypervisor,虚拟化管理程序,虚拟化各种硬件资源,这中间就会有资源损耗。

1.jpg

1.5 容器在内核中支持2种重要技术

docker本质就是宿主机的一个进程,docker是通过 namespace 实现资源隔离,通过 cgroup 实现资源限制(限制硬件资源,限制2个容器相互之间抢资源),通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。

linux六大namespace(命名空间):

namespace系统调用参数隔离内容
UTSCLONE_NEWUTS主机名和域名
IPCCLONE_NEWWIPS信号量,消息队列和共享内存
PIDCLONE_NEWPID进程编号
NETWORKCLONE_NEWNET网络设备,网络栈,端口等
MOUNTCLONE_NEWNS挂载点(文件系统)
USERCLONE_NEWUSER用户和用户组(3.8以后的内核才支持)

1-2.jpg

1.6 Docker核心概念

1)镜像

  • Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。
  • 通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。

2)容器

  • Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。
  • 可以把容器看做是要给简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。

3)仓库

  • Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。
  • Docker 的镜像、容器、日志等内容全部都默认存储在 /var/lib/docker 目录下。

1-8.jpg

二、安装Docker

2.1 Yum安装Docker

目前 Docker 只能支持 64 位系统。

Yum安装默认安装最新版本,目前最新版本是2020版本。但工作中不会用这么新的版本,前一个版本是2019版本。

#关闭防火墙和selinuxsystemctl stop firewalld.servicesetenforce 0​#安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2 --------------------------------------------------------------------------------------------#yum-utils:提供了 yum-config-manager 工具。#device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。#device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。--------------------------------------------------------------------------------------------​#设置阿里云镜像源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ​#安装 Docker-CE并设置为开机自动启动yum install -y docker-ce      #docker-ce-cli、containerd.io 会作为依赖包被安装​systemctl start docker.servicesystemctl enable docker.service

2-1.png

2-2.png

2-3.png

2-4.png

2-5.png

2.2 查看Docker信息

 

#查看 docker 版本信息
 docker version
 #注意:Yum安装默认安装最新版本,目前最新版本是2020版本。但工作中不会用这么新的版本,前一个版本是2019版本。
 ​
 #docker信息查看
 docker info
 //查看的部分信息如下:
 Client:
  Context:    default
  Debug Mode: false
  Plugins:
   app: Docker App (Docker Inc., v0.9.1-beta3)
   buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
   scan: Docker Scan (Docker Inc., v0.17.0)
 ​
 Server:
  Containers: 0                #容器数量
   Running: 0
   Paused: 0
   Stopped: 0
  Images: 0                    #镜像数量
  Server Version: 20.10.17     #server版本
  Storage Driver: overlay2     #docker使用的是overlay2 文件驱动
   Backing Filesystem: xfs     #宿主机上的底层文件系统
   Supports d_type: true
   Native Overlay Diff: true
   userxattr: false
  Logging Driver: json-file
  Cgroup Driver: cgroupfs      #cgroups 驱动,默认为cgroupfs,也可以修改为systemd
  Cgroup Version: 1
  Plugins:
   Volume: local
   Network: bridge host ipvlan macvlan null overlay
   Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
  Swarm: inactive

查看 docker 版本信息:

2-6.png

docker信息查看:

2-7.png

三、Docker的镜像管理命令

3.1 搜索镜像

 

3-1.png

1656002277654.png

3.2 获取镜像(下载镜像)

 

3-2.png

3.3 镜像加速下载

 

登录阿里云平台,获取加速器地址:

3-3.png

配置镜像加速:

3-3-2.png

3-3-3.png

3-3-4.png

3.4 查看本地有哪些镜像

镜像下载后存放在 /var/lib/docker

 #查看下载的镜像文件信息  cat /var/lib/docker/image/overlay2/repositories.json  ​ 

3-4.png

3-5.png

3.5 查看镜像的详细信息( 获取容器/镜像的元数据 )

 

3-6.png

3.6 为本地的镜像添加新的标签

添加标签后,镜像的ID号并不会改变。

 

3-7.png

3.7 删除镜像

注意:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。

 

3-9.png

3-10.png

3.8 批量删除镜像

 

1656064879196.png

3.9 存出镜像:将镜像保存成为本地文件

将镜像保存成为本地文件,实际是将镜像打包成一个tar包。

 

3-11.png

3.10 载入镜像:将镜像文件导入到镜像库中

主机A通过scp命令将打包好镜像文件传给主机B:

3-12.png

主机B将镜像文件导入到镜像库中:

3-13.png

3.11 上传镜像(将镜像上传到官方仓库)

默认上传到 docker Hub 官方公共仓库,需要注册使用公共仓库的账号,hub.docker.com 。默认上传到公有仓库,其他人可以下载仓库中的镜像。如果想设置成私有仓库(仅自己可见),不允许其他人下载,需要付费。

可以使用 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。docker logout 命令进行登出。

在上传镜像之前,还需要先对本地镜像添加新的标签,在镜像名称前加上仓库名,然后再使用 docker push 命令进行上传。

3-15.png

3-16.png

3-17.png

3-18.png

总结

1、Docker是什么?能干什么?

Docker是基于go语言开发的开源容器引擎,可以在任何主机上运行容器应用,并且每个容器都是一个轻量级的虚拟机。实现“一次封装,到处运行”的目的。

2、Docker容器与虚拟机的区别:

特性Docker容器虚拟机
内核的使用共享内核独立内核
启动速度秒级(相当于启动一个进程)分钟级(启动操作系统)
计算能力损耗几乎无损耗 50%左右
性能接近原生弱于
系统支持量(单机)上千个几十个
隔离性资源隔离/限制完全隔离(因为是独立的操作系统)
操作系统主要支持Linux几乎所有(KVM)
封装程度只打包项目代码和依赖关系,共享宿主机内核完整的操作系统,与宿主机隔离
  • 容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占用共他任何可执行文件的内存,非常轻量。

  • 虚拟机运行的是一个完整的操作系统,每个虚拟机使用独立的内核,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多,会产生资源损耗。

3、 linux六大namespace(命名空间):

namespace系统调用参数隔离内容
UTSCLONE_NEWUTS主机名和域名
IPCCLONE_NEWWIPS信号量,消息队列和共享内存
PIDCLONE_NEWPID进程编号
NETWORKCLONE_NEWNET网络设备,网络栈,端口等
MOUNTCLONE_NEWNS挂载点(文件系统)
USERCLONE_NEWUSER用户和用户组(3.8以后的内核才支持)

4、Docker的三大核心概念:

镜像、容器、仓库

5、镜像管理命令:

命令作用
docker search <仓库/镜像名>搜索镜像
docker pull <仓库/镜像名>下载镜像
docker images查看本地的所有镜像
docker images -q只显示本地所有镜像的ID号
docker inspect <镜像ID/容器ID>查看镜像的详细信息( 获取镜像/容器的元数据 )
docker tag 名称:[标签] [仓库名/]名称:[新标签]为本地的镜像添加新的标签
docker rmi < 镜像名称:标签>删除镜像的某个标签
docker rmi <镜像ID> -f删除指定镜像
docker rmi $(docker images -q)删除本地所有镜像
docker save -o 镜像文件.tar 镜像名称:标签存出镜像:将镜像保存为本地文件
docker load -i[或<] 镜像文件载入镜像:将镜像文件导入到镜像库中
docker login登录公共仓库docker hub
docker push 仓库名/镜像名:标签上传镜像(将镜像上传到官方仓库)
docker logout登出docker hub

相关文章:

【云原生】Docker基本原理及镜像管理

目录 一、Docker概述 1.1 IT架构的演进&#xff1a; 1.2 Docker初始 1.3 容器的特点 1.4 Docker容器与虚拟机的区别 1.5 容器在内核中支持2种重要技术 1.6 Docker核心概念 1&#xff09;镜像 2&#xff09;容器 3&#xff09;仓库 二、安装Docker 2.1 Yum安装Docker…...

Apache Doris大规模数据使用指南

目录 发展历史 架构介绍 弹性MPP架构-极简架构 逻辑架构 基本访问架构 分区 创建单分区表...

RabbitMQ 持久化

通过持久化可以尽量防止在RabbitMQ异常情况下&#xff08;重启、关闭、宕机&#xff09;的数据丢失。持久化技术是解决消息存储到队列后的丢失问题&#xff0c;但是通过持久化并不能完全保证消息不丢失。 持久化 交换机持久化队列持久化消息持久化总结 持久化技术可以分为交换机…...

STM32 定时器复习

12MHz晶振的机器周期是1us&#xff0c;因为单片机的一个机器周期由6个状态周期组成&#xff0c;1个机器周期6个状态周期12个时钟周期&#xff0c;因此机器周期为1us。 51单片机常用 for(){__nop(); //执行一个机器周期&#xff0c;若想循环n us&#xff0c;则循环n次。 }软件…...

17-工程化开发 脚手架 Vue CLI

开发Vue的两种方式: 1.核心包传统开发模式: 基于 html/css /js 文件&#xff0c;直接引入核心包&#xff0c;开发 Vue。 2.工程化开发模式: 基于构建工具 (例如: webpack)的环境中开发 Vue。 问题: 1. webpack 配置不简单 2. 雷同的基础配置 3. 缺乏统…...

golang 分布式微服务DAO层构建

构建云原生项目的dao层 配置读写分离的mysql集群 1. 编写yml配置文件 搭建一主二从的mysql集群、单机redis db.yml mysql:source: # 主数据库driverName: mysqlhost: 127.0.0.1port: 3309database: db_tiktokusername: tiktokDBpassword: tiktokDBcharset: utf8mb4replica1…...

Java 项目日志实例:LogBack

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ LogBack 和 Log4j 都是开源日记工具库&#xff0c;LogBack 是 Log4j 的改良版本&#xff0c;比 Log4j 拥有更多的特性&#xff0c;同时也带来很大性能提升。LogBack 官方建…...

什么是条件get方法?

条件GET方法通常指的是HTTP协议中的"GET"请求&#xff0c;但它带有一些条件&#xff0c;这些条件用于控制服务器是否应该返回请求的资源。这些条件通常使用HTTP标头字段来指定&#xff0c;以便客户端可以告诉服务器在某些条件下是否需要新的或更新的资源。 条件GET方…...

Python爬虫——scrapy_crawlspider读书网

创建crawlspider爬虫文件&#xff1a; scrapy genspider -t crawl 爬虫文件名 爬取的域名scrapy genspider -t crawl read https://www.dushu.com/book/1206.htmlLinkExtractor 链接提取器通过它&#xff0c;Spider可以知道从爬取的页面中提取出哪些链接&#xff0c;提取出的链…...

Spring源码编译-for mac

超详细的spring源码编译 记&#xff1a;编译成功时间&#xff1a;2023.08.19 环境准备&#xff1a; 1.idea 2023.1.1 Community Edition 2.jdk1.8 3.gradlegradle-5.6.4 4.spring源码(版本&#xff1a;spring-framework-v5.2.25.RELEASE) 一.spring源码下载 github 加速网站&…...

视频汇聚平台EasyCVR安防监控视频汇聚平台的FLV视频流在VLC中无法播放的问题解决方案

众所周知&#xff0c;TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入&#xff0c;包括主流标准协议国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。在视频流的处理与分发上&#xff0c;视频监控…...

中间件:RocketMQ安装部署

单机部署 下载 cd /opt/soft/archive wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip unzip -d ../ rocketmq-all-4.9.4-bin-release.zip配置 broker.conf 的brokerIP1 为公网ip 启动命令&#xff1a; nohup sh bin/mqnamesrv &a…...

leetcode-动态规划-42-接雨水

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2,1…...

[静态时序分析简明教程(十一)]浅议tcl语言

静态时序分析简明教程-浅议tcl语言 一、写在前面1.1 快速导航链接 二、Tcl基础知识三、Tcl的语言结构3.1 Tcl变量3.2 Tcl表达式与运算符3.3 Tcl的控制流语句3.3.1 列表遍历3.3.2 决策3.3.3 Tcl循环3.3.4 Tcl过程 3.4 其他Tcl命令3.4.1 open/close3.4.2 gets/puts3.4.3 catch3.4…...

大数据-玩转数据-Flink 网站UV统计

一、说明 在实际应用中&#xff0c;我们往往会关注&#xff0c;到底有多少不同的用户访问了网站&#xff0c;所以另外一个统计流量的重要指标是网站的独立访客数&#xff08;Unique Visitor&#xff0c;UV&#xff09;。 二、数据准备 package com.lyh.flink06;import lombo…...

3分钟了解下cwnd和TCP拥塞控制算法

文章首发地址 cwnd是什么&#xff1f; cwnd是TCP拥塞控制中的一个重要概念&#xff0c;全称为“congestion window”&#xff0c;也被称为拥塞窗口。它用于限制发送方向网络发送数据的速度&#xff0c;以避免网络拥塞。cwnd是一个动态的值&#xff0c;可以根据网络状况动态调…...

设计模式之状态模式(State)的C++实现

1、状态模式的提出 在组件功能开发过程中&#xff0c;某些对象的状态经常面临变化&#xff0c;不同的状态&#xff0c;其对象的操作行为不同。比如根据状态写的if else条件情况&#xff0c;且这种条件变化是经常变化的&#xff0c;这样的代码不易维护。可以使用状态模式解决这…...

无涯教程-TensorFlow - Keras

Keras易于学习的高级Python库&#xff0c;可在TensorFlow框架上运行&#xff0c;它的重点是理解深度学习技术&#xff0c;如为神经网络创建层&#xff0c;以维护形状和数学细节的概念。框架的创建可以分为以下两种类型- 顺序API功能API 无涯教程将使用Jupyter Notebook执行和…...

使用SSH隧道将Ubuntu云服务器Jupyter Notebook端口映射到本地

本文主要实现了在Ubuntu云服务器后台运行Jupyter Notebook&#xff0c;并使用SSH隧道将服务器端口映射到本地 1. 生成配置文件 运行以下命令生成Jupyter Notebook的配置文件&#xff1a; jupyter notebook --generate-config这将在用户主目录下生成一个名为.jupyter的文件夹&…...

Keepalived+LVS部署高可用集群

文章目录 KeepalivedLVS(DR)部署高可用Web集群集群环境MASTER配置BACKUP配置检查Virtual IP是否漂移IPVS检查MASTERBACKUP Real Server配置附上个人写的小脚本 测试停用Real Server某一台的Apache服务停用Master上的keepalived检测Backup是否接管资源 KeepalivedLVS(DR)部署高可…...

2023河南萌新联赛第(五)场:郑州轻工业大学

A.买爱心气球 原题链接 : 登录—专业IT笔试面试备考平台_牛客网 博弈论 : #include <iostream> using namespace std; int t,n,m; string s1 "Alice",s2 "Bob"; int main() {cin>>t;while(t--){cin>>n>>m;if (n % 3 0) {cou…...

在Orangepi5开发板3588s使用opencv获取摄像头画面

先感谢香橙派群的管理员耐心指导&#xff0c;经过不断的调试修改最后成功通过opencv调用mipi摄像头获取画面 就记录分享一下大概步骤希望大家少踩点坑&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 我用的固件系统是ubuntu2022.0.4 固件是&#x…...

音视频 ffmpeg命令分类查询

命令参数内容-version显示版本 -bsfs 显示可用比特流filter-buildconf显示编译配置-formats显示可用格式(muxersdemuxers)-muxers显示可用复用器-demuxers显示可用解复用器-codecs显示可用编解码器(decodersencoders)-decoders显示可用解码器-encoders显示可用编码器-bsfs显示可…...

VSCode无法从Extensions下载工具时,把工具下载到本地并添加到VSCode编辑器

从VSCode 的 Extensions 下载 下载报错&#xff1a;Error while installing ...... extension. Please check the log for more details. 由于内网限制&#xff08;或者其他网络限制&#xff09;无法正常下载扩展工具到VSCode编辑器&#xff0c;可以把工具下载到本地再添加到V…...

WebStrom 前端项目Debug

1. 正常启动前端项目 2. 配置webStrom的JavaScript Debugger 点击Edit Configurations添加avaScript Debug填写URL 为项目启动路径配置要Debug的浏览器-remote-allow-origins* &#xff08;最重要&#xff0c;否则唤起的是一个about:blank空白页面&#xff09; 3. 启动Debug模…...

【ARM Linux 系统稳定性分析入门及渐进12 -- GDB内存查看命令 “x“(examine)】

文章目录 gdb 内存查看命令 examine 上篇文章&#xff1a;ARM Linux 系统稳定性分析入门及渐进11 – GDB( print 和 p 的使用| 和 &#xff1a;&#xff1a;的使用|ptype|{&#xff1c;type&#xff1e;} &#xff1c;addr&#xff1e; ) gdb 内存查看命令 examine examine是…...

kube-prometheus 系列1 项目介绍

Prometheus 已经成为云原生监控的事实标准。整个生态包含诸多组件&#xff0c;为了简化安装部署和配置高可用等&#xff0c;社区开发了kube-prometheus项目。接下来用一系列文章介绍一下相关配置。 项目简介&#xff1a; kube-prometheus 是一个基于 Kubernetes 部署的 Prometh…...

深度学习在组织病理学图像分析中的应用: Python实现和代码解析

引言 组织病理学是医学的一个重要分支&#xff0c;它主要研究组织和细胞的形态学改变&#xff0c;以确定疾病的性质和发展。随着深度学习技术的进步&#xff0c;其在组织病理学图像分析中的应用也变得日益重要。本文旨在介绍如何使用Python和深度学习技术来处理和分析组织病理…...

kotlin的列表

在 kotlin中&#xff0c;列表是一种常见的数据结构&#xff0c;用于存储有序的元素集合。 kotlin的标准库提供了 List 接口及其实现类 ArrayList、LinkedList 等&#xff0c;以及一些扩展函数来操作和处理列表。 1.创建列表 // 创建一个可变列表 val mutableList mutableLis…...

PCL 三维点云边界提取(C++详细过程版)

边界提取 一、概述二、代码实现三、结果展示本文由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、概述 点云边界提取在PCL里有现成的调用函数,具体算法原理和实现代码见:PCL 点云边界提取。为充分了解pcl::BoundaryEsti…...

../../ 目录遍历

在web功能设计中,很多时候我们会要将需要访问的文件定义成变量&#xff0c;从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时&#xff0c;便会将请求的这个文件的值(比如文件名称)传递到后台&#xff0c;后台再执行其对应的文件。 在这个过程中&#xff0c;如果后…...

clickhouse集群部署

一、集群部署简介 部署的详情可以看官网 先部署两个server,三个keeper[zookeeper] clickhouse之前依赖的存储是zookeeper,后来改为了keeper,官网给出了原因 所以这就决定了clickhouse有两种安装方式&#xff0c;依赖于keeper做存储或者依赖于zookeeper做存储 二、zookeeper作…...

centos8 使用phpstudy安装tomcat部署web项目

系统配置 1、安装Tomcat 2、问题 正常安装完Tomcat应该有个配置选项&#xff0c;用来配置server.xml web.xml 还有映射webapps路径选项&#xff0c;但是我用的这个版本并没有。所以只能曲线救国。 3、解决 既然没有配置项&#xff0c;那就只能按最基本的方法配置&#xff0c…...

爬虫百度返回“百度安全验证”终极解决方案

这篇文章也可以在我的博客查看 爬不了啊&#xff01;&#xff01; 最近一哥们跟我说百度爬虫爬不了 弹出&#xff1a;“百度安全验证”&#xff0c;“网络不给力&#xff0c;请稍后重试” 说到爬虫&#xff0c;这里指的是Python中最常用的requests库 我说怎么爬不了了&#x…...

visual studio 2022配置

前提&#xff1a;我linux c 开发 一直在使用vscode 更新了个版本突然代码中的查找所用引用和变量修改名称不能用了&#xff0c;尝试了重新配置clang vc都不行&#xff0c;估计是插件问题&#xff0c;一怒之下改用visual studio 2022 为了同步2个IDE之间的差别&#xff0c;目前…...

B-树和B+树的区别

B-树和B树的区别 一、B-tree数据存储 在下图中 P 代表的是指针&#xff0c;指向的是下一个磁盘块。在第一个节点中的 16、24 就是代表我们的 key 值是什么。date 就是这个 key 值对应的这一行记录是什么。 假设寻找 key 为 33 的这条记录&#xff0c;33 在 16 和 34 中间&am…...

c注册cpp回调函数

在C语言中注册回调函数&#xff0c;函数需要使用静态函数&#xff0c;可使用bind和function来转换 案例一&#xff1a; #include <iostream> #include <functional> #include <string.h> #include "http_server.h" #include "ret_err_code.…...

批量将excel中字段为“八百”替换成“九百”

要批量将Excel中字段为"八百"的内容替换为"九百"&#xff0c;您可以使用Python的openpyxl库来实现。以下是一个示例代码演示如何读取Excel文件并进行替换操作&#xff1a; from openpyxl import load_workbook # 打开Excel文件 wb load_workbook(your_ex…...

关于docker-compose up -d在文件下无法运行的原因以及解决方法

一、确认文件下有docker-compose.yml文件 二、解决方法 检查 Docker 服务是否运行&#xff1a; 使用以下命令检查 Docker 服务是否正在运行&#xff1a; systemctl status docker 如果 Docker 未运行&#xff0c;可以使用以下命令启动它&#xff1a; systemctl start docker …...

机器学习笔记 - 基于keras + 小型Xception网络进行图像分类

一、简述 Xception 是深度为 71 层的卷积神经网络,仅依赖于深度可分离的卷积层。 论文中将卷积神经网络中的 Inception 模块解释为常规卷积和深度可分离卷积运算(深度卷积后跟点卷积)之间的中间步骤。从这个角度来看,深度可分离卷积可以理解为具有最大数量塔的 Inception 模…...

【Unity每日一记】SceneManager场景资源动态加载

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…...

自动驾驶数据回传需求

1、需求分析 用户 用户需求 实时性要求 需回传数据 数据类型 采样周期 数据量 大小 数据回传通道 研发工程师 分析评估系统性能表现&#xff0c;例如智驾里程统计、接管率表现、油耗表现、AEB报警次数等 当天 车身底盘数据、自动驾驶系统状态数据等 结构化数据 10…...

使用Jmeter自带recorder代理服务器录制接口脚本

脚本录制 配置线程组 添加代理服务器 端口 和 录制脚本放置位置可根据需要设置 启动录制 点击启动后 弹出创建证书提示&#xff0c;点击OK 这个证书后续需要使用到 然后可见 一个弹窗。 Recorder . 本质是代理服务录制交易控制 可设置对应数据 方便录制脚本的查看 证书配置…...

我和 TiDB 的故事 | 远近高低各不同

作者&#xff1a; ShawnYan 原文来源&#xff1a; https://tidb.net/blog/b41a02e6 Hi, TiDB, Again! 书接上回&#xff0c; 《我和 TiDB 的故事 | 横看成岭侧成峰》 &#xff0c;一年时光如白驹过隙&#xff0c;这一年我好似在 TiDB 上投入的时间总量不是很多&#xff0…...

深入浅出Pytorch函数——torch.nn.init.zeros_

分类目录&#xff1a;《深入浅出Pytorch函数》总目录 相关文章&#xff1a; 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…...

Jenkins-发送邮件配置

在Jenkins构建执行完毕后&#xff0c;需要及时通知相关人员。因此在jenkins中是可以通过邮件通知的。 一、Jenkins自带的邮件通知功能 找到manage Jenkins->Configure System&#xff0c;进行邮件配置&#xff1a; 2. 配置Jenkins自带的邮箱信息 完成上面的配置后&#xf…...

网络通信原理传输层TCP三次建立连接(第四十八课)

ACK :确认号 。 是期望收到对方的下一个报文段的数据的第1个字节的序号,即上次已成功接收到的数据字节序号加1。只有ACK标识为1,此字段有效。确认号X+1SEQ:序号字段。 TCP链接中传输的数据流中每个字节都编上一个序号。序号字段的值指的是本报文段所发送的数据的第一个字节的…...

【Python机器学习】实验14 手写体卷积神经网络(PyTorch实现)

文章目录 LeNet-5网络结构&#xff08;1&#xff09;卷积层C1&#xff08;2&#xff09;池化层S1&#xff08;3&#xff09;卷积层C2&#xff08;4&#xff09;池化层S2&#xff08;5&#xff09;卷积层C3&#xff08;6&#xff09;线性层F1&#xff08;7&#xff09;线性层F2 …...

Debian查询硬件状态

很早以前写过一个查询树霉派硬件状态的文章&#xff0c;用是Python写的一个小程序。里面用到了vcgencmd这个测温度的内部命令&#xff0c;但这个命令在debian里面没有&#xff0c;debian里只有lm_sensors的外部命令&#xff0c;需要安装&#xff1a;apt-get install lm_sensors…...

除自身以外数组的乘积(c语言详解)

题目&#xff1a;除自身外数组的乘积 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除…...