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

Docker 的安全配置与优化(二)

Docker 安全优化策略

(一)多阶段构建优化镜像大小

多阶段构建是 Docker 17.05 版本引入的强大功能,它允许在一个 Dockerfile 中定义多个构建阶段,每个阶段都可以使用不同的基础镜像和依赖项,最终只将必要的文件和依赖复制到最后的镜像中,从而显著减小镜像体积。这就好比制作一个蛋糕,传统方法是把所有材料都放在一个碗里搅拌,最后得到的蛋糕不仅体积大,而且可能包含一些不必要的杂质。而多阶段构建就像是先在一个大碗里进行原料的初步加工,去除多余的部分,然后把最终需要的成品放入一个小模具中,这样得到的蛋糕既精致又小巧。

以 Go 语言应用为例,在传统的单阶段构建中,可能会使用包含 Go 编译器和所有依赖的完整开发环境镜像来构建应用,最终生成的镜像会包含 Go 编译器、开发依赖以及应用的可执行文件,导致镜像体积庞大。而使用多阶段构建,第一阶段可以使用golang基础镜像,在这个阶段完成应用的编译,生成可执行文件。然后在第二阶段,切换到一个轻量级的基础镜像,如alpine,只将第一阶段生成的可执行文件复制到这个镜像中。这样,最终的镜像只包含应用运行所需的可执行文件和最小的运行时依赖,大大减小了镜像体积。以下是一个简单的示例:

 

# 第一阶段:构建应用程序

FROM golang:1.18 AS builder

# 设置工作目录

WORKDIR /app

# 复制项目文件

COPY..

# 编译应用程序

RUN go build -o myapp

# 第二阶段:创建最终镜像

FROM alpine:latest

# 设置工作目录

WORKDIR /app

# 从第一阶段复制可执行文件

COPY --from=builder /app/myapp.

# 运行应用程序

CMD ["./myapp"]

在上述示例中,第一阶段使用golang:1.18镜像作为基础,安装了 Go 编译器和相关依赖,完成了应用的编译工作。第二阶段则基于alpine:latest这个轻量级镜像,只复制了第一阶段生成的可执行文件myapp,最终生成的镜像体积相比传统单阶段构建大幅减小。通过这种方式,不仅减少了镜像的存储空间占用,还提高了镜像的下载和部署速度,同时由于镜像中包含的内容更少,攻击面也相应减小,提高了安全性。

(二)定期清理无用资源

随着 Docker 的使用,系统中会逐渐积累大量无用的容器、镜像和卷,这些无用资源不仅占用宝贵的磁盘空间,还可能影响系统的性能和稳定性。定期清理这些无用资源,就像是定期清理房间里的杂物一样,能够让系统保持整洁和高效。

使用docker container prune命令可以删除所有已经停止的容器,而docker image prune命令可以删除所有未被任何容器引用的无标签镜像。如果想要删除所有未使用的镜像,包括有标签但未被引用的镜像,可以使用docker image prune -a命令。docker system prune命令则更为强大,它可以删除所有已经停止的容器、无标签的镜像以及构建缓存,而docker system prune -a命令还会删除所有未使用的容器卷。

为了实现自动化清理,可以结合crontab工具设置定时任务。以每天凌晨 3 点自动清理 Docker 资源为例,首先打开终端,使用以下命令编辑crontab文件:

 

crontab -e

然后在打开的编辑器中添加以下内容:

 

0 3 * * * /usr/bin/docker system prune -af

这行代码的含义是每天凌晨 3 点 0 分执行/usr/bin/docker system prune -af命令,其中-a表示清理所有未使用的镜像,-f表示强制执行而不提示。保存并退出编辑器后,系统就会按照设定的时间自动执行清理任务。通过设置自动化清理任务,可以确保系统中的无用资源得到及时清理,保持系统的高效运行。

(三)监控与日志管理

监控与日志管理是保障 Docker 容器安全运行的重要手段,通过监控可以实时了解容器的运行状态,及时发现潜在的安全问题,而日志则为问题的追溯和分析提供了重要依据。

Prometheus 和 Grafana 是常用的监控工具组合。Prometheus 是一个开源的系统监控和警报工具包,它通过拉取式的方式从目标应用中获取监控指标数据,并将这些数据存储在时间序列数据库中。Grafana 则是一个可视化平台,它可以从 Prometheus 等数据源中读取数据,并以直观的图表形式展示出来,方便用户查看和分析。在监控 Docker 容器时,可以使用 Prometheus 的cadvisor插件来收集容器的资源使用情况、性能指标等信息,如 CPU 使用率、内存使用量、网络流量等。然后将这些数据发送到 Prometheus 进行存储和处理,最后通过 Grafana 进行可视化展示,用户可以通过 Grafana 的界面实时查看容器的运行状态,及时发现异常情况。

ELK 堆栈(Elasticsearch、Logstash、Kibana)则是一套强大的日志管理和分析工具。Elasticsearch 是一个分布式的搜索引擎,用于存储和检索日志数据;Logstash 是一个数据收集和处理引擎,它可以从各种数据源收集日志数据,并对数据进行过滤、转换和格式化等操作;Kibana 是一个可视化工具,用于在 Elasticsearch 中查询和展示日志数据。在 Docker 环境中,可以通过配置将容器的日志发送到 Logstash,由 Logstash 进行处理后存储到 Elasticsearch 中,最后通过 Kibana 进行可视化查询和分析。通过 ELK 堆栈,用户可以方便地对容器的日志进行集中管理和分析,快速定位和解决安全问题。

通过合理配置监控与日志管理工具,能够实现对 Docker 容器运行状态和安全事件的实时监控和及时追溯,为保障容器化应用的安全运行提供有力支持。

案例分析

(一)某公司 Docker 安全实践

某互联网电商公司在其容器化架构中广泛使用 Docker 来部署各类微服务,包括商品展示、订单处理、用户管理等核心服务。在初期,公司为了快速上线业务,在 Docker 的配置和管理上相对粗放。容器大多以 root 用户运行,镜像也只是简单地从公共仓库拉取,未进行严格的安全扫描和审查。

在一次业务高峰期,公司突然遭受了一次严重的安全攻击。攻击者利用了一个存在漏洞的第三方镜像,通过容器逃逸技术突破了容器的隔离边界,获取了宿主机的部分权限。随后,攻击者进一步渗透到公司的内部网络,窃取了大量用户的敏感信息,包括姓名、联系方式和部分订单数据,给公司带来了巨大的经济损失和声誉损害。

事件发生后,公司立即成立了安全应急小组,对整个容器化环境进行了全面的安全检查和整改。首先,对所有正在使用的镜像进行了深度扫描,使用 Trivy 等工具检测出了多个存在高危漏洞的镜像,并及时进行了更新和替换。对于新的镜像构建,采用了多阶段构建的方式,不仅减小了镜像体积,还减少了潜在的攻击面。

在容器运行时,公司严格限制了容器的权限,不再以 root 用户运行容器,而是创建了专门的非 root 用户,并为每个容器分配了最小的权限集。同时,对容器的资源进行了精细的限制,包括 CPU、内存和磁盘 I/O 等,防止容器因资源耗尽而导致的安全问题。

网络方面,公司重新规划了容器网络,采用了自定义网络模式,限制了容器之间不必要的网络通信,并配置了防火墙策略,只允许必要的端口和 IP 地址进行通信。此外,还引入了 Prometheus 和 Grafana 进行实时监控,以及 ELK 堆栈进行日志管理,以便及时发现和处理潜在的安全问题。

经过一系列的安全配置和优化措施,公司的容器化环境的安全性得到了显著提升。在后续的安全评估中,未再发现类似的安全漏洞,系统的稳定性和可靠性也得到了有效保障。

(二)经验教训总结

从该案例中,我们可以总结出以下关键的经验教训和最佳实践:

  1. 重视镜像安全:绝不能忽视镜像的安全问题,从公共仓库拉取镜像时,一定要进行严格的安全扫描和审查,确保镜像的来源可靠且无漏洞。定期更新镜像,及时修复已知的安全漏洞,采用多阶段构建等技术减小镜像体积,降低攻击面。
  1. 严格权限管理:避免以 root 用户运行容器,创建并使用非 root 用户,严格限制容器的权限,遵循最小权限原则,只赋予容器运行所需的最小权限集。
  1. 强化网络安全:合理规划容器网络,采用自定义网络模式,限制容器之间的网络通信,配置防火墙策略,严格控制容器的网络访问权限,防止网络攻击和数据泄露。
  1. 实时监控与日志管理:引入专业的监控工具和日志管理系统,实时监控容器的运行状态和安全事件,及时发现并处理潜在的安全问题。通过对日志的分析,能够快速定位问题根源,为安全事件的处理提供有力支持。
  1. 建立应急响应机制:在面对安全攻击时,能够迅速做出反应,成立专门的安全应急小组,制定详细的应急处理流程,及时采取有效的措施进行修复和防范,降低安全事件带来的损失。

总结与展望

(一)重点回顾

本文全面深入地探讨了 Docker 的安全配置与优化策略。从基础概念出发,剖析了 Docker 的架构、安全模型以及潜在的安全风险点,为后续的安全配置与优化奠定了理论基础。在安全配置实战部分,详细阐述了镜像安全配置和容器运行时安全配置的具体方法,包括选择可靠基础镜像、进行镜像漏洞扫描、设置资源限制、控制权限以及实现网络隔离等关键操作,这些措施能够有效降低 Docker 环境中的安全风险。

在安全优化策略方面,介绍了多阶段构建优化镜像大小、定期清理无用资源以及监控与日志管理等重要策略。多阶段构建能够减小镜像体积,降低攻击面;定期清理无用资源可以保持系统的整洁和高效;监控与日志管理则有助于实时了解容器的运行状态,及时发现并处理安全问题。通过某公司的 Docker 安全实践案例分析,进一步验证了上述安全配置与优化策略的重要性和实际效果,总结出了重视镜像安全、严格权限管理、强化网络安全、实时监控与日志管理以及建立应急响应机制等关键经验教训。

(二)未来发展趋势

展望未来,Docker 安全技术将朝着更先进的方向发展。在安全隔离技术方面,随着硬件虚拟化技术和操作系统内核的不断演进,有望出现更强大、更精细的隔离机制,进一步增强容器与宿主机以及容器之间的隔离性,有效防止容器逃逸等安全问题的发生。

智能化的安全监控也将成为未来的重要发展方向。借助人工智能和机器学习技术,安全监控系统能够自动学习和识别正常的容器行为模式,实时监测异常行为,并及时发出警报。通过对大量历史数据的分析,还能够预测潜在的安全风险,提前采取防范措施,实现从被动防御到主动防御的转变。

随着容器技术在企业中的广泛应用,Docker 安全将更加注重与企业安全体系的深度融合,满足企业在合规性、数据保护等方面的严格要求。同时,开源社区也将继续发挥重要作用,推动 Docker 安全技术的不断创新和发展,为容器化应用的安全运行提供更加坚实的保障。

希望读者能够持续关注 Docker 安全技术的发展动态,不断学习和应用新的安全理念和技术,提升自身在容器化环境中的安全防护能力,共同构建更加安全可靠的数字化世界。

相关文章:

Docker 的安全配置与优化(二)

Docker 安全优化策略 (一)多阶段构建优化镜像大小 多阶段构建是 Docker 17.05 版本引入的强大功能,它允许在一个 Dockerfile 中定义多个构建阶段,每个阶段都可以使用不同的基础镜像和依赖项,最终只将必要的文件和依赖…...

宝塔扩容——阿里云如何操作

一、创建快照 磁盘快照,将数据备份,防止丢失。 1.登录“阿里云”账号 2.点击“控制台”——“云服务器 ECS” 3.点击“基本信息”下,右下角“系统盘” 4.点击“创建快照” 二、磁盘扩容 1.点击“云盘扩容” 2. 选择自己要扩容的大小 …...

vscode settings(一):全局| 用户设置常用的设置项

参考资料 Visual Studio Code权威指南 by 韩骏 一. 全局设置与用户设置 1.1 Vscode支持两种不同范围的设置 用户设置(User Settings):这是一个全局范围的设置,会应用到所有的Visual Studio Code实例中。工作区设置(Workspace Settings):设…...

DeepSeek R1本地+私有云版医疗AI部署开发成功案例技术剖析

1. 引言 1.1 研究背景与意义 随着科技的飞速发展,人工智能(AI)在医疗领域的应用正逐渐成为推动医疗行业变革的重要力量。近年来,医疗 AI 取得了显著的进展,从疾病诊断、药物研发到医疗管理等各个环节,AI 技术都展现出了巨大的潜力。它能够处理和分析海量的医疗数据,为…...

CMOS图像传感器——偏振光图像传感器技术

最近,在索尼官网看到了其提到的偏光图像传感器技术Polarsens,感到好奇,查阅了相关资料,总结如下。。。。 一、偏振光 偏振实际上是光的一种基本属性,表述光电场振动的方向。振动方向和光波前进的方向构成的平面叫振动面。大多数的光源,比如太阳,发出非偏振光,这里我们…...

ROS2 中 TF 变换发布与订阅:实现 base_link 和 test_link 实时可视化显示

视频讲解 ROS2 中 TF 变换发布与订阅:实现 base 安装环境依赖 sudo apt-get install ros-humble-tf2-ros ros-humble-tf2-geometry-msgs ros-humble-tf-transformations 创建一个包名为tf_test_pkg的包 ros2 pkg create --build-type ament_python tf_test_pkg -…...

SQLMesh 系列教程9- 宏变量及内置宏变量

SQLMesh 的宏变量是一个强大的工具,能够显著提高 SQL 模型的动态化能力和可维护性。通过合理使用宏变量,可以实现动态时间范围、多环境配置、参数化查询等功能,从而简化数据模型的开发和维护流程。随着数据团队的规模扩大和业务复杂度的增加&…...

逻辑函数的神经网络实现

1.单层感知器实现基本逻辑函数 先给大家抛出一道例题 (一)种类 a.OR函数 目标:当至少一个输入为1时,输出1;否则输出0。 权重设置: 输入权重:所有 wi1(i1,2,...,m)。…...

链表-基础训练(二)链表 day14

两两交换链表中的节点 题目示意: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 原先我的思路是图像上的思路,但是我感觉还是很复杂…...

使用大语言模型对接OA系统,实现会议室预定功能

随着人工智能技术的不断进步,越来越多的企业开始借助 AI 助手来提高工作效率,尤其是在日常事务的自动化处理中。比如,在许多公司里,会议室的预定是一个常见且频繁的需求,通常需要员工手动检查空闲时间并做出选择。而通…...

hugging face---transformers包

一、前言 不同于计算机视觉的百花齐放,不同网络适用不同情况,NLP则由Transformer一统天下。transformer是2017年提出的一种基于自注意力机制的神经网络架构,transformers库是hugging face社区创造的一个py库,通过该库可以实现统一…...

1. 自定义组件基础

相关资源: 📎day10 图片素材.zip 1. 自定义组件基础 概念:在ArkUI中由框架直接提供的称为系统组件 -> Column,Button等,由开发者定义的称为自定义组件 作用:自定义组件可以对 UI和业务逻辑进行封装&…...

连接Sql Server时报错无法通过使用安全套接字层加密与 SQL Server 建立安全连接

文章目录 一. 前言二. 解决方案 方案1方案2 三. 总结 一. 前言 在《数据库原理》这门课的实验上,需要使用SQL Server,然后使用jdbc连接sql server突然报错为:SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertific…...

python使用httpx_sse调用sse流式接口对响应格式为application/json的错误信息的处理

目录 问题描述方案 问题描述 调用sse流式接口使用httpx_sse的方式 import httpxfrom httpx_sse import connect_sse# 省略无关代码try:with httpx.Client() as client:with connect_sse(client, "GET", url, paramsparam) as event_source:clear_textbox(response_t…...

R 语言科研绘图 --- 散点图-汇总

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...

【语音科学计算器】当前汇率

JSON_MARKER_HORN{“base”:“USD”,“rates”:{“EUR”:0.9758,“JPY”:157.68,“GBP”:0.8190,“CNY”:7.3327,“HKD”:7.7872,“AUD”:1.6260,“CAD”:1.4422,“CHF”:0.9157,“SGD”:1.3714,“KRW”:1473.05,“NZD”:1.7992,“THB”:34.54,“MYR”:4.4930,“PHP”:57.32,“…...

python 进程池的基本使用

Python 进程池:Pool任务调度实现 在现代计算机系统重,处理器核心数量的增加为并行计算提供了强大的硬件基础。Python的 multiprocessing 模块中的进程池(Pool)机制,为开发者提供了 一个高效且易用的并行处理框架。 通…...

初识XML

初识XML <?xml version"1.0" encoding"utf-8" ?> <!--根标签只能有一个--> <!--第一行永远都是 <?xml version"1.0" encoding"utf-8" ?> 前面不允许出现任何其他东西&#xff0c;空格换行等均不行 --> &…...

VisActor/VTable - 快速搭建表格

VTable源于VisActor体系&#xff0c;该体系是从字节跳动大量可视化场景沉淀而来&#xff0c;旨在提供面向叙事的智能可视化解决方案。VisActor包括渲染引擎、可视化语法、数据分析组件、图表组件、表格组件、GIS组件、图可视化组件、智能组件等多个模块&#xff0c;以及周边生态…...

网络安全营运周报

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 第三章网络安全基础 一、网络安全概述 1、网络安全现状及安全挑战 网络安全范畴极其广泛&#xff0c;可以说是涉及多方面。 因为计算机病毒层出不穷以及黑客的…...

网络运维学习笔记 017 HCIA-Datacom综合实验01

文章目录 综合实验1实验需求总部特性 分支8分支9 配置一、 基本配置&#xff08;IP二层VLAN链路聚合&#xff09;ACC_SWSW-S1SW-S2SW-Ser1SW-CoreSW8SW9DHCPISPGW 二、 单臂路由GW 三、 vlanifSW8SW9 四、 OSPFSW8SW9GW 五、 DHCPDHCPGW 六、 NAT缺省路由GW 七、 HTTPGW 综合实…...

【Viewer.js】vue3封装图片查看器

效果图 需求 点击图片放大可关闭放大的 图片 下载 cnpm in viewerjs状态管理方法 stores/imgSeeStore.js import { defineStore } from pinia export const imgSeeStore defineStore(imgSeeStore, {state: () > ({showImgSee: false,ImgUrl: ,}),getters: {},actions: {…...

hot100_108. 将有序数组转换为二叉搜索树

hot100_108. 将有序数组转换为二叉搜索树 思路 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#…...

给小米/红米手机root(工具基本为官方工具)——KernelSU篇

目录 前言准备工作下载刷机包xiaomirom下载刷机包【适用于MIUI和hyperOS】“hyper更新”微信小程序【只适用于hyperOS】 下载KernelSU刷机所需程序和驱动文件 开始刷机设置手机第一种刷机方式【KMI】推荐提取boot或init_boot分区 第二种刷机方式【GKI】不推荐 结语 前言 刷机需…...

(四)趣学设计模式 之 原型模式!

目录 一、 啥是原型模式&#xff1f;二、 为什么要用原型模式&#xff1f;三、 原型模式怎么实现&#xff1f;四、 原型模式的应用场景五、 原型模式的优点和缺点六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xf…...

Linux 命令大全完整版(08)

3. 文档编辑命令 joe 功能说明&#xff1a;编辑文本文件。语  法&#xff1a;joe [-asis][-beep][-csmode][-dopadding][-exask][-force][-help][-keepup][-lightoff][-arking][-mid][-nobackups][-nonotice][-nosta][-noxon][-orphan][-backpath<目录>][-columns<…...

【DeepSeek-R1背后的技术】系列十一:RAG原理介绍和本地部署(DeepSeek+RAGFlow构建个人知识库)

【DeepSeek-R1背后的技术】系列博文&#xff1a; 第1篇&#xff1a;混合专家模型&#xff08;MoE&#xff09; 第2篇&#xff1a;大模型知识蒸馏&#xff08;Knowledge Distillation&#xff09; 第3篇&#xff1a;强化学习&#xff08;Reinforcement Learning, RL&#xff09;…...

[python脚本]论文1.(一)CPU/内存数据分析和分组

CPU 收集到的CPU数据&#xff0c;格式如下&#xff1a; 由于这里6个数据为一组来收集latency的数据以及各个分位值的数据&#xff0c;而本质上每一行都是一次完整的测试&#xff0c;因此这里将这个csv文件分为两个文件&#xff0c;第一个是和latency相关的&#xff0c;将6条数…...

git - 从一个远端git库只下载一个文件的方法

文章目录 git - 从一个远端git库只下载一个文件的方法概述笔记写一个bash脚本来自动下载get_github_raw_file_from_url.shreanme_file.shfind_key_value.sh执行命令 END git - 从一个远端git库只下载一个文件的方法 概述 github上有很多大佬上传了电子书库&#xff0c;如果只…...

【C++】list 链表的使用+模拟实现

目录 文章目录 前言 一、list的简介 二、list的使用方法 三、list的模拟实现 1.基本框架&#xff1a; 2.迭代器实现 3.常用接口实现 四、完整代码 总结 前言 本文主要介绍C【STL】容器中的 list&#xff0c;包括接口说明和模拟实现。其中讲解了迭代器功能上的分类&am…...

@Configuration与 @Component的差异

继承关系 Configuration确实可以视为Component的派生注解。从源码层面来看&#xff0c;Configuration本身通过元注解方式标记了Component&#xff0c;这意味着所有被Configuration注解的类本质上也会被Spring识别为组件&#xff08;Component&#xff09;。这种设计使得Config…...

c++第一课(基础c)

目录 1.开场白 2.char&#xff08;字符&#xff09; 3.字符数组 4.ASCII码 1.开场白 OK&#xff0c;咱们也是亿&#xff08;不是作者故意的&#xff09;天没见&#xff0c;话不多说&#xff0c;直接开始&#xff01; 2.char&#xff08;字符&#xff09; 众所不周知&…...

element ui的time时间和table表格

<el-date-picker v-model"value1" align"right" type"date" placeholder"选择日期" value-format"yyyy-MM-dd" change"changeDate"></el-date-picker><el-date-picker v-model"datetime"…...

安装 tensorflow 遇到的问题

Q1: 没发现满足需求的版本 ERROR: Could not find a version that satisfies the requirement keras-nightly~2.5.0.dev (from tensorflow) (from versions: none) ERROR: No matching distribution found for keras-nightly~2.5.0.dev 按照官方文档Installation — TensorFl…...

音视频封装格式:多媒体世界的“容器”与“桥梁”

一、音视频封装格式的核心概念 音视频封装格式(容器)是一种将编码后的视频、音频、字幕等数据按规则整合的文件格式,其本质是多媒体数据容器,核心作用包含: 同步多轨道数据:通过时间戳(PTS/DTS)实现音画同步。组织数据流:统一管理视频流、音频流、字幕流等,并存储元…...

【学习资料】嵌入式人工智能Embedded AI

图片来源&#xff1a; Embedded Artificial Intelligence for Business Purposes | DAC.digital 随着AI在设备端的应用&#xff0c;我们看到越来越多的可穿戴设备出现以及自动驾驶汽车的发展&#xff0c;可以看到嵌入式人工智能是新的发展方向。我为大家介绍嵌入式人工智能的…...

Linux命令大全完整版

1. linux 系统管理命令 adduser 功能说明&#xff1a;新增用户帐号。语  法&#xff1a;adduser补充说明&#xff1a;在 Slackware 中&#xff0c;adduser 指令是个 script 程序&#xff0c;利用交谈的方式取得输入的用户帐号资料&#xff0c;然后再交由真正建立帐号的 use…...

红队内网攻防渗透:内网渗透之内网对抗:实战项目VPC2打靶父子域三层路由某绒免杀下载突破约束委派域控提权

红队内网攻防渗透 实战网络攻防靶场记录1.靶机配置信息讲解2.靶场渗透完整流程2.1 入口点:192.168.139.130(win2008 R2)2.1.1 tomcat后台war包获取权限2.1.2 tomcat使用后门上线CS平台2.1.3 信息收集获取数据库密码2.2 入口点横向:192.168.10.11 (win2012 SQL)2.2.1 SQLs…...

always和assign语法区别

always语句可以带时钟, 也可以不带时钟。 一,assign和always区别 assign 语句使用时不能带时钟。 assign a=1; assign b=2; 在always不带时钟时,逻辑功能和assign完全一致,都是只产生组合逻辑。比较简单的组合逻辑推荐使用assign语句,比较复杂的组合逻辑推荐使用 al…...

深入了解ThreadLocal底层原理-高并发架构

目录 什么是ThreadLocal应用场景需求实现 ThreadLocal核心源码解读Thread 、ThreadLocal、ThreadLocalMap 三者的关系 四大引用-强软弱虚类型ThreadLocal内存泄漏ThreadLocal为什么需要设计成弱引用&#xff1f;并且ThreadLocal用完需要remove呢&#xff1f;原因 什么是ThreadL…...

《AI与NLP:开启元宇宙社交互动新纪元》

在科技飞速发展的当下&#xff0c;元宇宙正从概念逐步走向现实&#xff0c;成为人们关注的焦点。而在元宇宙诸多令人瞩目的特性中&#xff0c;社交互动体验是其核心魅力之一。人工智能&#xff08;AI&#xff09;与自然语言处理&#xff08;NLP&#xff09;技术的迅猛发展&…...

基于vue和微信小程序的校园自助打印系统(springboot论文源码调试讲解)

第3章 系统设计 3.1系统功能结构设计 本系统的结构分为管理员和用户、店长。本系统的功能结构图如下图3.1所示&#xff1a; 图3.1系统功能结构图 3.2数据库设计 本系统为小程序类的预约平台&#xff0c;所以对信息的安全和稳定要求非常高。为了解决本问题&#xff0c;采用前端…...

电脑开机一段时间就断网,只有重启才能恢复网络(就算插网线都不行),本篇文章直接解决,不要再看别人的垃圾方法啦

下面的是我解决问题的心路历程&#xff0c;不想看的可以直接跳到解决方法上面&#xff01; 内心思路&#xff1a; w11电脑更新过系统后&#xff0c;我的电脑是常年不关机的&#xff0c;但是一天突然断网&#xff0c;试了很多方法都连不上&#xff0c;重启电脑就会好&#xff0…...

go-zero学习笔记(五)

api自定义中间件 1. 修改.api文件 syntax"v1"type (GetInfoReq {IDs []string json:"IDs"}GetInfoData {ID string json:"ID"Name string json:"Name"MD5 string json:"md5"Size int64 json:"Size"Up…...

DeepSeek技术全景解析:架构创新与行业差异化竞争力

一、DeepSeek技术体系的核心突破 架构设计&#xff1a;效率与性能的双重革新 Multi-head Latent Attention (MLA)&#xff1a;通过将注意力头维度与隐藏层解耦&#xff0c;实现显存占用降低30%的同时支持4096超长上下文窗口。深度优化的MoE架构&#xff1a;结合256个路由专家…...

函数中的形参和实参(吐槽)

def greet_user(user_name):print(f"Hello,{user_name.title()}!")greet_user("zhangsan") 在以上函数中&#xff0c;user_name是形参&#xff0c; 在greet_user("zhangsan")中&#xff0c;值“zhangsan”是实参。这本身没什么大问题。 但是这…...

使用 Promptic 进行对话管理需要具备python技术中的那些编程能力?

使用 Promptic 进行对话管理时,需要掌握一些基础的编程知识和技能,以下是详细说明: 1. Python 编程基础 Promptic 是一个基于 Python 的开发框架,因此需要具备一定的 Python 编程能力,包括: 函数定义与使用:了解如何定义函数、使用参数和返回值。类型注解:熟悉 Python…...

【模块】 ASFF 模块

ASFF (Adaptively Spatial Feature Fusion) 方法针对单次射击物体检测器的特征金字塔中存在的不同特征尺度之间的不一致性问题&#xff0c;提出了一种新颖的数据驱动策略进行金字塔特征融合。通过学习空间上筛选冲突信息的方法&#xff0c;减少了特征之间的不一致性&#xff0c…...

第二十四周:OpenPose:使用部分亲和场的实时多人2D姿态估计

OpenPose 摘要Abstract文章信息引言方法同时进行检测和关联关键部位检测的置信图PAF使用PAF进行多人解析 关键代码实验结果创新与不足总结 摘要 本篇博客介绍了一种实时多人2D姿态估计框架——OpenPose&#xff0c;其核心思想是通过自底向上的全局关联策略&#xff0c;解决传统…...

ReACT agent和FC agent

rag系列文章目录 文章目录 rag系列文章目录前言一、简介二、示例说明三、对比总结 前言 大模型时代llm正在改变我们的生活&#xff0c;它可以帮助人类写作&#xff0c;写代码&#xff0c;翻译等等&#xff0c;但是llm的知识在训练时被冻结&#xff0c;无法直接使用api接入外部…...