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

Docker容器镜像与容器常用操作指南

一、镜像基础操作
  1. 搜索镜像

    docker search <镜像名>
    

    在Docker Hub中查找公开镜像,例如:

    docker search nginx
    
  2. 拉取镜像

    docker pull <镜像名>:<标签>
    

    从仓库拉取镜像到本地,标签默认为latest

    docker pull nginx:alpine
    
  3. 查看本地镜像

    docker images
    

    列出所有本地镜像,包含镜像ID、标签、大小等信息。

  4. 删除镜像

    docker rmi <镜像ID或镜像名>:<标签>
    

    删除指定镜像,若镜像被容器引用需先删除容器:

    docker rmi nginx:alpine
    
  5. 构建镜像
    通过Dockerfile构建自定义镜像:

    docker build -t <自定义镜像名>:<标签> <Dockerfile路径>
    

    例如:

    docker build -t myapp:v1 .
    
二、容器基础操作
  1. 运行容器

    docker run [OPTIONS] <镜像名>:<标签>
    

    常用参数:

    • -d:后台运行(守护进程模式)
    • --name:指定容器名称
    • -p <主机端口>:<容器端口>:端口映射
    • -v <主机路径>:<容器路径>:数据卷挂载
    • -e <环境变量>:设置环境变量
      示例:
    docker run -d --name web -p 8080:80 -v /data:/usr/share/nginx/html nginx:alpine
    
  2. 查看容器

    docker ps        # 查看运行中的容器
    docker ps -a     # 查看所有容器(包括已停止的)
    
  3. 停止容器

    docker stop <容器名或容器ID>
    

    示例:

    docker stop web
    
  4. 启动已停止容器

    docker start <容器名或容器ID>
    
  5. 删除容器

    docker rm <容器名或容器ID>
    

    强制删除运行中的容器:

    docker rm -f <容器名或容器ID>
    
  6. 查看容器日志

    docker logs <容器名或容器ID>
    

    常用参数:

    • -f:实时跟踪日志输出
    • --tail <行数>:显示最后N行日志
      示例:
    docker logs -f --tail 50 web
    
  7. 进入容器内部

    docker exec -it <容器名或容器ID> /bin/bash
    

    若容器无bash,可替换为/bin/sh

    docker exec -it <容器名或容器ID> /bin/sh
    
三、进阶操作
  1. 提交容器为镜像
    将容器修改保存为新镜像:

    docker commit <容器名或容器ID> <新镜像名>:<标签>
    
  2. 数据卷管理

    • 创建数据卷
      docker volume create <卷名>
      
    • 运行容器时挂载卷
      docker run -v <卷名>:<容器路径> ...
      
    • 查看所有卷
      docker volume ls
      
  3. 网络管理

    • 查看网络
      docker network ls
      
    • 创建自定义网络
      docker network create <网络名>
      
    • 运行容器时指定网络
      docker run --network=<网络名> ...
      
  4. 资源限制
    限制容器使用的CPU和内存:

    docker run --memory=512m --cpus=1.0 ...
    
四、最佳实践
  1. 镜像优化

    • 使用多阶段构建减少镜像体积。
    • 清理构建过程中产生的临时文件(如apt-get cleanrm -rf /var/lib/apt/lists/*)。
    • 选择轻量级基础镜像(如alpine)。
  2. 容器命名规范
    为容器设置语义化名称(如web-serverdatabase),避免使用默认随机名称。

  3. 日志轮转
    通过--log-opt参数限制日志文件大小:

    docker run --log-opt max-size=10m --log-opt max-file=3 ...
    
  4. 定期清理

    • 删除无标签镜像(<none>镜像):
      docker image prune
      
    • 删除所有停止的容器:
      docker container prune
      
    • 删除未使用的卷、网络和镜像:
      docker system prune
      
  5. 安全建议

    • 避免以root用户运行容器,使用USER指令指定非特权用户。
    • 定期更新镜像以修复安全漏洞。
    • 使用docker scan检查镜像漏洞(需Docker Hub账号)。
五、容器镜像及容器在OS组件编译构建中的意义

容器化技术在操作系统(OS)组件的编译构建过程中发挥着革命性作用,其核心价值体现在以下方面:

  1. 环境一致性保障

    • 问题背景:传统编译构建中,开发、测试、生产环境差异(如库版本、编译工具链不一致)常导致“在我机器上能编译通过”的诡异问题。
    • 容器化解决方案:通过Dockerfile定义编译环境,将OS内核、编译工具链(如gcc/binutils)、依赖库(如glibc)及构建脚本打包为镜像。例如,构建Linux内核时,可基于ubuntu:20.04镜像安装指定版本的build-essentiallibssl-dev等依赖,确保全球开发者使用完全相同的编译环境。
  2. 资源隔离与效率提升

    • 并行构建优化:容器轻量级特性支持在单台物理机启动多个隔离的编译容器,利用docker run --cpus=2 -m 4g限制每个容器的CPU/内存资源,实现编译任务并行化,缩短大型项目(如LLVM编译器)的全量构建时间。
    • CI/CD集成:在Jenkins/GitLab CI流水线中,每个构建阶段(如编译、测试、打包)运行在独立容器中,避免任务间资源竞争,提升流水线执行效率。
  3. 依赖管理与可重复性

    • 依赖锁定:通过Dockerfile显式声明编译所需依赖(如RUN apt-get install -y cmake=3.16.7),避免因宿主机环境变化导致的依赖冲突。
    • 镜像层缓存:Docker利用分层镜像技术,对Dockerfile中未变更的指令(如基础镜像、依赖安装)复用缓存层,仅重新执行变更的步骤(如代码编译),加速迭代构建。
  4. 安全合规性

    • 最小权限原则:在编译镜像中避免安装非必要工具(如curlwget),减少攻击面。例如,使用distroless基础镜像(仅包含运行时代码)替代完整OS镜像。
    • 镜像签名验证:通过Docker Content Trust对编译生成的镜像进行签名,确保镜像在传输和部署过程中未被篡改。
六、容器镜像源的配置与维护操作
1. 镜像加速器配置

场景:国内网络环境下,从Docker Hub拉取镜像速度缓慢。

配置步骤(以阿里云为例)

  1. 获取加速地址

    • 登录阿里云容器镜像服务控制台,进入“镜像中心”->“镜像加速器”,获取专属加速地址(如https://<你的ID>.mirror.aliyuncs.com)。
  2. 修改Docker配置

    • Linux:编辑/etc/docker/daemon.json,添加:
      {"registry-mirrors": ["https://<你的ID>.mirror.aliyuncs.com"]
      }
      
    • Windows/macOS(Docker Desktop)
      进入Docker Desktop设置,勾选“Use Docker Mirror”,填入加速地址。
  3. 重启Docker服务

    systemctl restart docker  # Linux
    
  4. 验证配置

    docker info | grep "Registry Mirrors"
    # 输出应包含配置的加速地址
    

常用国内镜像加速器

  • 腾讯云:https://mirror.ccs.tencentyun.com
  • 网易云:https://hub-mirror.c.163.com
  • USTC:https://docker.mirrors.ustc.edu.cn
2. 私有仓库配置与管理

场景:企业内部需要存储私有镜像(如未开源的OS组件编译产物)。

方案对比

方案特点适用场景
本地Registry轻量级,docker run -d -p 5000:5000 --name registry registry:2测试环境/小型团队
Harbor企业级,支持镜像复制、LDAP集成、镜像扫描生产环境/中大型企业

Harbor部署步骤

  1. 安装Harbor

    # 下载安装包
    wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-online-installer-v2.9.0.tgz
    tar -zxvf harbor-online-installer-v2.9.0.tgz
    cd harbor# 修改配置(harbor.yml)
    hostname: reg.yourdomain.com
    http:port: 80
    # 启用HTTPS(可选)
    # certificate: /path/to/cert.crt
    # private_key: /path/to/cert.key# 安装
    ./install.sh
    
  2. 推送镜像到Harbor

    # 登录Harbor
    docker login reg.yourdomain.com# 打标签并推送
    docker tag nginx:alpine reg.yourdomain.com/library/nginx:alpine
    docker push reg.yourdomain.com/library/nginx:alpine
    
  3. 镜像复制(跨Region容灾)

    • 在Harbor Web界面进入“复制管理”,创建复制规则,实现镜像在不同Harbor实例间的自动同步。
3. 镜像安全维护

关键操作

  1. 漏洞扫描

    • 工具选择:Clair(开源)、Trivy(支持多语言)、Anchore Engine(企业级)。
    • 集成CI/CD:在GitLab CI中添加扫描阶段:
      scan_image:stage: securityscript:- trivy image --severity HIGH,CRITICAL reg.yourdomain.com/project/app:latest
      
  2. 镜像更新策略

    • 自动重建:在Dockerfile中指定基础镜像标签(如ubuntu:22.04而非ubuntu:latest),配合Harbor的Webhook,当基础镜像更新时触发镜像重建。
    • 滚动更新:在Kubernetes中通过Deployment的rollingUpdate策略实现镜像版本平滑升级。
  3. 镜像清理

    • 删除无用镜像
      docker image prune -a --filter "until=720h"  # 删除30天前未使用的镜像
      
    • Harbor垃圾回收:在Harbor Web界面进入“清理”,设置保留策略(如保留最近3个版本)。
七、总结

容器化技术通过环境一致性、资源隔离、依赖管理等特性,显著提升了OS组件编译构建的效率与可靠性。结合镜像加速器、私有仓库及安全维护策略,可构建端到端的容器化研发流水线,加速操作系统及核心组件的迭代周期。

相关文章:

Docker容器镜像与容器常用操作指南

一、镜像基础操作 搜索镜像 docker search <镜像名>在Docker Hub中查找公开镜像&#xff0c;例如&#xff1a; docker search nginx拉取镜像 docker pull <镜像名>:<标签>从仓库拉取镜像到本地&#xff0c;标签默认为latest&#xff1a; docker pull nginx:a…...

1:OpenCV—图像基础

OpenCV教程 头文件 您只需要在程序中包含 opencv2/opencv.hpp 头文件。该头文件将包含应用程序的所有其他必需头文件。因此&#xff0c;您不再需要费心考虑程序应包含哪些头文件。 例如 - #include <opencv2/opencv.hpp>命名空间 所有 OpenCV 类和函数都在 cv 命名空…...

测试--BUG(软件测试⽣命周期 bug的⽣命周期 与开发产⽣争执怎么办)

1. 软件测试的⽣命周期 软件测试贯穿于软件的整个⽣命周期&#xff0c;针对这句话我们⼀起来看⼀下软件测试是如何贯穿软件的整个⽣命周期。 软件测试的⽣命周期是指测试流程&#xff0c;这个流程是按照⼀定顺序执⾏的⼀系列特定的步骤&#xff0c;去保证产品质量符合需求。在软…...

基于大模型预测围术期麻醉苏醒时间的技术方案

目录 一、数据收集与处理(一)数据来源(二)数据预处理二、大模型构建与训练(一)模型选择(二)模型训练三、围术期麻醉苏醒时间预测(一)术前预测(二)术中动态预测四、并发症风险预测(一)风险因素分析(二)风险预测模型五、基于预测制定手术方案(一)个性化手术规划…...

QT6 源(101)阅读与注释 QPlainTextEdit,其继承于QAbstractScrollArea,属性学习与测试

&#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09;属性学习与测试 &#xff1a; &#xff08;4&#xff09; &#xff08;5&#xff09; 谢谢...

电池组PACK自动化生产线:多领域电池生产的“智能引擎”

在电池产业蓬勃发展的当下&#xff0c;电池组PACK自动化生产线凭借其高效、精准、智能的优势&#xff0c;成为众多电池生产领域的核心装备。它广泛适用于数码电池、工具电池、储能电池、电动车电池以及动力电池的生产&#xff0c;有力推动了相关产业的升级与发展。 数码电池领…...

生成式AI在编程中的应用场景:从代码生成到安全检测

引言 生成式AI正在深刻改变软件开发的方式&#xff0c;从代码编写到测试、文档和维护&#xff0c;AI技术正在为每个环节带来革命性的变革。本文将深入探讨生成式AI在编程中的主要应用场景&#xff0c;分析其优势与局限性&#xff0c;并展望未来发展趋势。 主要应用场景 1. 代…...

安全牛报告解读《低空经济发展白皮书(3.0)安全体系》

一、概述 《低空经济发展白皮书&#xff08;3.0&#xff09;安全体系》由粤港澳大湾区数字经济研究院&#xff08;IDEA研究院&#xff09;发布&#xff0c;旨在构建低空经济安全发展的系统性框架&#xff0c;解决规模化低空飞行中的安全挑战。核心目标是明确安全体系需覆盖的飞…...

“2W2H”分析方法

“2W2H”是一种常用的分析方法&#xff0c;它通过回答**What&#xff08;是什么&#xff09;、Why&#xff08;为什么&#xff09;、How&#xff08;怎么做&#xff09;、How much&#xff08;多少&#xff09;**这四个问题来全面了解和分析一个事物或问题。这种方法可以帮助你…...

【数据挖掘笔记】兴趣度度量Interest of an association rule

在数据挖掘中&#xff0c;关联规则挖掘是一个重要的任务。兴趣度度量是评估关联规则的重要指标&#xff0c;以下是三个常用的兴趣度度量&#xff1a;支持度、置信度和提升度。 支持度&#xff08;Support&#xff09; 计算方法 支持度表示包含项集的事务占总事务的比例&…...

ArcGIS Pro调用多期历史影像

一、访问World Imagery Wayback&#xff0c;基本在我国范围 如下图&#xff1a; 二、 放大到您感兴趣的区域 三、 查看影像版本信息 点击第二步的按钮后&#xff0c;便可跳转至World Imagery (Wayback 2025-04-24)的相关信息。 四 、点击上图影像版本信息&#xff0c;页面跳转…...

Web3.0:互联网的去中心化未来

随着互联网技术的不断发展&#xff0c;我们正站在一个新时代的门槛上——Web3.0时代。Web3.0不仅仅是一个技术升级&#xff0c;它更是一种全新的互联网理念&#xff0c;旨在通过去中心化技术重塑网络世界。本文将深入探讨Web3.0的核心概念、技术基础、应用场景以及它对未来的深…...

java17

1.常见API之BigDecimal 底层存储方式&#xff1a; 2.如何分辨过时代码&#xff1a; 有横线的代码表示该代码已过时 3.正则表达式之字符串匹配 注意&#xff1a;如果X不是单一字符&#xff0c;需要加[]中括号 注意&#xff1a;1.想要表达正则表达式里面的.需要\\. 2.想要表…...

游戏引擎学习第283天:“让‘Standing-on’成为一个更严谨的概念

如果同时使用多个OpenGL上下文&#xff0c;并且它们都有工作负载&#xff0c;GPU或GPU驱动程序如何决定调度这些工作&#xff1f;我注意到Windows似乎优先处理活动窗口的OpenGL上下文&#xff08;即活动窗口表现更好&#xff09;&#xff0c;挺有意思的…… 当多个OpenGL上下文…...

小白上手RPM包制作

目录 rpm常用命令 安装环境-Ruby 安装环境-fpm 关于服务器 打包-打包二进制工程 .fpm配置文件 打包-打没有文件的包 RPM 包微调 命令行参数 fpm --help RPM 签名 打包-制作NGINX的RPM包 关于rpmbuild 简单使用 打包之前的准备工作 rpmbuild 打包 - sniproxy …...

电商热销榜的5种实现方案

文章目录 1. MySQL 聚合查询&#xff1a;传统统计法2. Redis Sorted Set&#xff1a;内存排行榜3. Elasticsearch 实时聚合&#xff1a;搜索专家4. 缓存异步更新&#xff1a;榜单的幕后推手5. 大数据离线批处理&#xff1a;夜间魔法师 博主介绍&#xff1a;全网粉丝10w、CSDN合…...

车载诊断进阶篇 --- 车载诊断概念

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

AD 多层线路及装配图PDF的输出

装配图的输出&#xff1a; 1.点开‘智能PDF’ 2. 设置显示顶层&#xff1a; 设置显示底层&#xff1a; 多层线路的输出 同样使用‘智能PDF’...

FramePack - 开源 AI 视频生成工具

&#x1f3ac; 项目简介 由开发者 lllyasviel 创建的一个轻量级动画帧处理工具库&#xff0c;专门用于游戏开发、动画制作和视频处理中的帧序列打包与管理。该项目采用高效的算法实现&#xff0c;能够显著提升动画资源的处理效率。 此 AI 视频生成项目&#xff0c;旨在通过低显…...

“this”这个关键字

一、什么是“this”&#xff1f; 简单来说&#xff0c;“this”是每个非静态成员函数隐含的指针&#xff0c;它指向调用该成员函数的那个对象本身。 换句话说&#xff0c;当你调用对象的方法时&#xff0c;编译器会自动传入一个指针&#xff0c;指向你调用的“那个对象”&…...

问题处理——在ROS2(humble)+Gazebo+rqt下,无法显示仿真无人机的相机图像

文章目录 前言一、问题展示二、解决方法&#xff1a;1.下载对应版本的PX42.下载对应版本的Gazebo3.启动 总结 前言 在ROS2的环境下&#xff0c;进行无人机仿真的过程中&#xff0c;有时需要调取无人机的相机图像信息&#xff0c;但是使用rqt&#xff0c;却发现相机图像无法显示…...

广度和深度优先搜索(BFS和DFS)

1. 广度和深度优先搜索&#xff08;BFS和DFS&#xff09; 1.1. Python实现BFS和DFS from collections import dequeclass Graph:"""无向图类&#xff0c;支持添加边&#xff0c;并实现了 BFS&#xff08;广度优先搜索&#xff09;和 DFS&#xff08;深度优先搜…...

React和Vue在前端开发中, 通常选择哪一个

React和Vue的选择需结合具体需求&#xff1a; 选React的场景 大型企业级应用&#xff0c;需处理复杂状态&#xff08;如电商、社交平台&#xff09;团队熟悉JavaScript&#xff0c;已有React技术栈积累需要高度灵活的架构&#xff08;React仅专注视图层&#xff0c;可自由搭配…...

Vue3学习(组合式API——reactive()和ref()函数详解)

目录 一、reactive()函数。 &#xff08;1&#xff09;介绍与使用。 &#xff08;2&#xff09;简单案例演示。 二、ref()函数。 &#xff08;1&#xff09;介绍与使用。 &#xff08;2&#xff09;简单案例演示。 <1>ref()函数获取响应式对象的本质与底层。 <2>基…...

数据结构 -- 树形查找(一)二叉排序树

二叉排序树 二叉排序树的定义 二叉排序树&#xff0c;又称二叉查找树 一棵二叉树或者是空二叉树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 左子树上所有结点的关键字均小于根结点的关键字 右子树上所有结点的关键字均大于根结点的关键字 左子树和右子树又各是…...

【实战教程】从零实现DeepSeek AI多专家协作系统 - Spring Boot+React打造AI专家团队协作平台

&#x1f680; 本项目是DeepSeek大模型应用系列的V3版本&#xff0c;基于V1和V2版本的功能进行全面升级&#xff0c;引入了多智能体协作机制&#xff01; 系列教程推荐阅读顺序&#xff1a; 【V1版本】零基础搭建DeepSeek大模型聊天系统 - Spring BootReact完整开发指南【V2版本…...

React事件机制

React事件机制 React 的事件机制是其实现高效、跨浏览器交互的核心系统&#xff0c;它通过 合成事件&#xff08;SyntheticEvent&#xff09;、事件委托&#xff08;Event Delegation&#xff09;、事件冒泡&#xff08;Bubbling&#xff09; 和 事件派发&#xff08;Dispatch…...

LeetCode 45. 跳跃游戏 II(中等)

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最…...

LeetCode 热题 100 437. 路径总和 III

LeetCode 热题 100 | 437. 路径总和 III 大家好&#xff0c;今天我们来解决一道经典的二叉树问题——路径总和 III。这道题在 LeetCode 上被标记为中等难度&#xff0c;要求计算二叉树中节点值之和等于给定目标值 targetSum 的路径数目。 问题描述 给定一个二叉树的根节点 ro…...

力扣.1471数组的k个最强值,力扣.1471数组的k个最强值力扣1576.替换所有的问号力扣1419.数青蛙​编辑力扣300.最长递增子序列

目录 力扣.1471数组的k个最强值 力扣1576.替换所有的问号 力扣1419.数青蛙​编辑 力扣300.最长递增子序列 力扣.1471数组的k个最强值 class Solution {public static int[] getStrongest(int[] arr,int k) {if(karr.length){return arr;}int []retnew int[k];int narr.lengt…...

使用itextsharp5.0版本来合并多个pdf文件并保留书签目录结构

using System; using System.Collections.Generic; using System.IO; using iTextSharp.text; using iTextSharp.text.pdf;public class PdfMergeUtility {/// <summary>/// 合并多个PDF文件并保留书签目录结构/// </summary>/// <param name"inputFiles&q…...

2025-5-15Vue3快速上手

1、setup和选项式API之间的关系 (1)vue2中的data,methods可以与vue3的setup共存 &#xff08;2&#xff09;vue2中的data可以用this读取setup中的数据&#xff0c;但是反过来不行&#xff0c;因为setup中的this是undefined &#xff08;3&#xff09;不建议vue2和vue3的语法混用…...

Kafka消费者分组机制深度解析

一、集群协调者 1.1 GroupCoordinator的元数据管理 每个Broker内置的GroupCoordinator实例通过哈希算法确定消费者组的归属权。其内存模型维护三个核心数据结构&#xff1a; 成员注册表&#xff1a;采用跳表结构存储消费者ID与心跳时间戳&#xff0c;支持快速查询和过期检测…...

Python 类变量与实例变量完全指南:区别、使用场景及常见陷阱

类变量与实例变量的区别总结 代码示例 class Example:class_var "我是类变量&#xff0c;所有实例共享我" # 类变量def __init__(self, name):self.name name # 实例变量&#xff0c;每个实例独有def modify_class_var(self, new_value):Example.class_var ne…...

Ubuntu Linux bash的相关默认配置文件内容 .profile .bashrc, /etc/profile, /etc/bash.bashrc等

文章目录 文件的source顺序/etc/profile&#xff1a;系统级配置/etc/bash.bashrc&#xff1a;bash终端的系统级配置~/.profile&#xff1a;用户级配置~/.bashrc bash&#xff1a;终端的主要配置~/.bash_logout&#xff1a;bash终端登出时清理 建议的额外配置&#xff1a; 安装 …...

redis解决常见的秒杀问题

title: redis解决常见的秒杀问题 date: 2025-03-07 14:24:13 tags: redis categories: redis的应用 秒杀问题 每个店铺都可以发布优惠券&#xff0c;保存到 tb_voucher 表中&#xff1b;当用户抢购时&#xff0c;生成订单并保存到 tb_voucher_order 表中。 订单表如果使用数据…...

Springboot3自定义starter笔记

场景&#xff1a;抽取聊天机器人场景&#xff0c;它可以打招呼。 效果&#xff1a;任何项目导入此 starter 都具有打招呼功能&#xff0c;并且问候语中的人名需要可以在配置文件中修改。 创建自定义 starter 项目&#xff0c;引入 spring-boot-starter 基础依赖。 <dependen…...

Modern C++(一)基本概念

1、基本概念 1.1、注释 注释在翻译阶段3会被替换为单个空白字符从程序中移除 1.2、名字与标识符 标识符是一个由数字、下划线、大小写字符组成的任意长度序列。有效的标识符首个字符必须是以A-Z、a-z、下划线开头&#xff0c;。有效的标识符其他字符可以是0-9、A-Z、a-z、下…...

Apache HttpClient 5 用法-Java调用http服务

Apache HttpClient 5 核心用法详解 Apache HttpClient 5 是 Apache 基金会推出的新一代 HTTP 客户端库&#xff0c;相比 4.x 版本在性能、模块化和易用性上有显著提升。以下是其核心用法及最佳实践&#xff1a; 一、添加依赖 Maven 项目&#xff1a; <dependency><…...

Python中plotext 库详细使用(命令行界面中直接绘制各种图形)

更多内容请见: python3案例和总结-专栏介绍和目录 文章目录 plotext概述1.1 plotext介绍1.2 安装二、基本用法2.1 简单绘图2.2 散点图2.3 折线图2.4 条形图2.5 直方图2.6 标题和坐标轴标签2.7 网格和坐标轴2.8 颜色和样式2.9 多图叠加三、高级功能3.1 多图绘制3.2 对数坐标3.3…...

【Java Web】速通JSON

参考笔记&#xff1a;JavaWeb 速通JSON_java webapi调用传json与head-CSDN博客 目录 1.JSON基本介绍 2.JSON串的格式 3.JSON在客户端/浏览器的使用 3.1 JavaScript对象和JSON串的相互转换 3.2 案例演示 4.JSON在服务端的使用 4.1 基本说明 4.2 应用场景 4.2.1 JSON字…...

Ubuntu 20.04 LTS 中部署 网页 + Node.js 应用 + Nginx 跨域配置 的详细步骤

Ubuntu 20.04 LTS 中部署 网页 Node.js 应用 Nginx 跨域配置 的详细步骤 一、准备工作1、连接服务器2、更新系统 二、安装 Node.js 环境1、安装 Node.js 官方 PPA&#xff08;用于获取最新稳定版&#xff09;&#xff1a;2、安装 Node.js 和 npm&#xff08;LTS 长期支持版本…...

java中XML的使用

文章目录 什么是XML特点XML作用XML的编写语法基本语法特殊字符编写 约束XML的书写格式DTD文档schema文档属性命名空间XML命名空间的作用 解析XML的方法​​DOM解析XMLDOM介绍DOM解析包&#xff1a;org.w3c.dom常用接口DOM解析包的使用保存XML文件添加DOM节点修改/删除DOM节点 S…...

Spark SQL 之 Analyzer

Spark SQL 之 Analyzer // Special case for Project as it supports lateral column alias.case p: Project =>val resolvedNoOuter = p.projectList.map(resolveExpressionByPlanChildren(_, p...

Java - Junit框架

单元测试&#xff1a;针对最小的功能单元(方法)&#xff0c;编写测试代码对该功能进行正确性测试。 Junit&#xff1a;Java语言实现的单元测试框架&#xff0c;很多开发工具已经集成了Junit框架&#xff0c;如IDEA。 优点 编写的测试代码很灵活&#xff0c;可以指某个测试方法…...

麒麟系统ARM64架构部署mysql、jdk和java项目

麒麟系统ARM64架构部署mysql、jdk和java项目 一、mysql8的安装 操作步骤&#xff1a; 先下载mysql安装包 下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 由于官网里&#xff0c;mysql5.7以及更低版本不支持arm版本的&#xff0c;只能安装mysql8。…...

修复“ImportError: DLL load failed while importing lib: 找不到指定的程序”笔记

#工作记录 一、问题描述 在运行CosyVoice_For_Windows项目时&#xff0c;出现以下报错&#xff1a; Traceback (most recent call last): File "D:\ProgramData\anaconda3\envs\CosyVoice\Lib\pydoc.py", line 457, in safeimport module __import__(path) …...

vllm量化03—INT4 W4A16

本系列基于Qwen2.5-7B&#xff0c;学习如何使用vllm量化&#xff0c;并使用benchmark_serving.py、lm_eval 测试模型性能和评估模型准确度。 测试环境为&#xff1a; OS: centos 7 GPU: nvidia l40 driver: 550.54.15 CUDA: 12.3本文是该系列第3篇——INT4 W4A16 一、量化 f…...

VScode各文件转化为PDF的方法

文章目录 代码.py文件.ipynb文本和代码夹杂的文件方法 1:使用 VS Code 插件(推荐)步骤 1:安装必要插件步骤 2:安装 `nbconvert`步骤 3:间接导出(HTML → PDF)本文遇见了系列错误:解决方案:问题原因步骤 1:降级 Jinja2 至兼容版本步骤 2:确保 nbconvert 版本兼容替代…...

AI日报 · 2025年5月15日|GPT-4.1 登陆 ChatGPT

AI日报 2025年5月15日&#xff5c;GPT-4.1 登陆 ChatGPT 1、OpenAI 在 ChatGPT 全面开放 GPT-4.1 与 GPT-4.1 mini 北京时间 5 月 14 日晚&#xff0c;OpenAI 在官方 Release Notes 中宣布&#xff1a;专为复杂代码与精细指令场景打造的 GPT-4.1 正式加入 ChatGPT&#xff0…...