揭秘Docker Compose扩展配置:如何用3个关键策略实现服务灵活伸缩

Screenshot_2026-11-04-16-26-45-46.jpg 立即下载

第一章:Docker Compose扩展配置的核心概念

Docker Compose 是用于定义和运行多容器 Docker 应用的工具,通过 `docker-compose.yml` 文件实现服务的声明式配置。在复杂部署场景中,扩展配置能力尤为重要,它允许开发者复用配置片段、动态覆盖默认设置,并实现环境间的平滑迁移。

配置复用与字段级扩展

Compose 支持通过 `extends` 关键字继承其他服务的配置,适用于开发、测试和生产环境共用基础配置的场景。被扩展的服务可位于同一文件或不同文件中。

# base-service.yml
web:
  image: nginx:alpine
  ports:
    - "80:80"
  environment:
    - ENV=development

# docker-compose.yml
version: '3'
services:
  frontend:
    extends:
      file: base-service.yml
      service: web
    environment:
      - ENV=production
上述配置中,`frontend` 服务继承自 `base-service.yml` 中的 `web` 定义,并覆盖了环境变量。字段合并遵循“深度覆盖”原则,即列表类型字段(如 environment)会被追加或覆盖。

使用配置片段提升可维护性

通过提取通用配置为独立文件,可以显著减少重复代码。常见的做法包括:
  • 将数据库、缓存等中间件配置统一管理
  • 为不同部署环境(dev/staging/prod)定义专属覆盖文件
  • 结合 `env_file` 和变量替换实现灵活注入
特性说明
extends支持跨文件继承服务配置
override机制子配置优先于父配置生效
环境隔离通过不同 compose 文件实现环境分离

第二章:服务定义的灵活扩展策略

2.1 理解extends关键字的继承机制

在面向对象编程中,`extends` 关键字用于实现类之间的继承,使子类能够复用并扩展父类的属性和方法。这一机制是构建可维护、可扩展系统的核心基础。
继承的基本语法与示例

class Animal {
    void speak() {
        System.out.println("Animal makes a sound");
    }
}

class Dog extends Animal {
    @Override
    void speak() {
        System.out.println("Dog barks");
    }
}
上述代码中,`Dog` 类通过 `extends` 继承 `Animal` 类,并重写 `speak()` 方法。`extends` 建立了“is-a”关系,表明 Dog 是一种 Animal。
继承带来的特性
  • 方法复用:子类自动拥有父类的公共方法
  • 方法重写(Override):允许子类提供特定实现
  • 构造器链调用:子类构造器默认调用父类无参构造器

2.2 基础服务模板的设计与抽象原则

在构建可复用的基础服务时,设计需遵循高内聚、低耦合的抽象原则。通过提取共性逻辑,如配置加载、健康检查与日志初始化,形成标准化模板。
通用服务结构示例

type BaseService struct {
    Config   *Config
    Logger   *log.Logger
    Shutdown context.CancelFunc
}

func (s *BaseService) Start() error {
    s.Logger.Println("服务启动中...")
    // 启动逻辑
    return nil
}
上述代码定义了一个基础服务结构体,包含通用字段。Start 方法封装初始化流程,便于子服务继承与扩展。
设计原则清单
  • 单一职责:每个模板仅处理一类基础设施逻辑
  • 接口隔离:通过接口定义行为契约,而非具体实现
  • 依赖注入:外部依赖显式传入,提升测试性与灵活性

2.3 覆盖与合并配置的优先级规则解析

在复杂系统中,配置的覆盖与合并遵循明确的优先级顺序。通常,运行时注入的配置优先级最高,其次是环境变量,最后是默认配置文件。
优先级层级示例
  1. 命令行参数(最高优先级)
  2. 环境变量
  3. 本地配置文件(如 config.yaml)
  4. 默认内置配置(最低优先级)
配置合并逻辑
# config.yaml
database:
  host: localhost
  port: 5432
当通过环境变量设置 DATABASE_HOST=prod-db.example.com 时,最终生效的 host 值将被覆盖为新值,而 port 保持不变,实现深度合并。
优先级决策表
配置源是否可覆盖适用场景
命令行是临时调试、CI/CD
环境变量是容器化部署
配置文件部分开发环境

2.4 多环境场景下的配置复用实践

在构建跨开发、测试、生产等多环境的应用系统时,配置的统一管理与高效复用成为关键挑战。通过抽象公共配置并结合环境特异性覆盖,可显著提升维护效率。
配置分层设计
采用基础配置 + 环境覆盖的模式,确保共性与个性分离:
  • base.yaml:存放所有环境共享的默认配置
  • dev.yaml:仅覆盖开发环境差异项
  • prod.yaml:覆盖生产环境安全与性能参数
代码示例:Go 中的 Viper 配置加载
viper.SetConfigName("base")
viper.MergeInConfigPath("./config")
viper.SetConfigName(env) // dev, prod
viper.MergeInConfigPath("./config")
该逻辑首先加载基础配置,再根据运行环境合并对应文件,实现叠加而非替换,保证通用配置不被遗漏。
配置优先级对照表
配置项开发环境生产环境
日志级别DEBUGWARN
数据库连接池550

2.5 避免循环依赖与配置冲突的最佳实践

在微服务与模块化架构中,循环依赖和配置冲突是常见的系统隐患,容易引发启动失败或运行时异常。合理的依赖管理与配置隔离机制至关重要。
依赖层级解耦
通过定义清晰的依赖方向,确保高层模块依赖低层模块,避免双向引用。使用接口或抽象类隔离实现细节,提升模块可替换性。
配置作用域隔离
不同环境应使用独立的配置文件,并通过命名空间进行隔离。例如:

# config/production.yaml
database:
  url: "prod-db.example.com"
  timeout: 3000

# config/staging.yaml  
database:
  url: "staging-db.example.com"
  timeout: 5000
该配置结构通过环境命名空间分离关键参数,防止生产与测试配置混淆,timeout 单位为毫秒,需根据服务响应特性调整。
  • 优先使用依赖注入容器管理对象生命周期
  • 禁止跨模块直接导入具体实现
  • 配置项必须支持动态重载

第三章:利用配置片段实现模块化管理

3.1 抽象通用配置片段提升可维护性

在大型系统中,重复的配置项会显著降低代码可维护性。通过抽象出通用配置片段,可在多环境间复用核心参数,减少冗余。
配置片段的结构化提取
将数据库连接、日志级别等共性配置独立为公共模块,实现一次定义、多处引用。

# common-config.yaml
database:
  host: ${DB_HOST}
  port: 5432
  max_connections: 100
logging:
  level: INFO
上述 YAML 片段定义了可被多个服务导入的基础配置,占位符 `${DB_HOST}` 支持运行时注入,增强灵活性。
引入方式与优势
  • 使用配置管理工具(如 Consul、Spring Cloud Config)集中加载
  • 支持动态刷新,无需重启服务
  • 版本化管理,便于回溯与审计

3.2 使用YAML锚点与别名简化书写

在编写复杂的 YAML 配置文件时,重复的结构和字段会显著增加维护成本。YAML 提供了锚点(`&`)和别名(`*`)机制,允许开发者复用已定义的节点,从而减少冗余。
锚点与别名语法
使用 `&` 为节点设置锚点名称,再通过 `*` 引用该名称实现内容复用:
defaults: &default-settings
  timeout: 30s
  retries: 3
  protocol: https

service_a:
  <<: *default-settings
  host: api.service-a.com

service_b:
  <<: *default-settings
  host: api.service-b.com
  retries: 5
上述代码中,`&default-settings` 定义默认配置,`<<:` 合并锚点内容到当前映射。`service_b` 可覆盖特定字段(如 `retries`),实现灵活继承。
应用场景
  • 微服务配置批量注入
  • Kubernetes 多实例共用模板
  • CI/CD 流水线阶段复用
通过锚点与别名,配置文件结构更清晰,修改一处即可全局生效,大幅提升可维护性。

3.3 模块化网络与存储配置的实际应用

在现代数据中心架构中,模块化设计显著提升了网络与存储系统的可维护性和扩展性。通过将功能解耦为独立组件,运维团队可以按需升级特定模块而无需重构整体系统。
典型应用场景
  • 虚拟化平台中的软件定义网络(SDN)配置
  • 容器集群中持久化存储卷的动态挂载
  • 多租户环境中隔离的VLAN与存储策略部署
配置示例:Kubernetes 存储类定义
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp3
  fsType: ext4
reclaimPolicy: Retain
该配置定义了一个基于AWS GP3 SSD的存储类,provisioner指定卷供应方式,parameters控制性能与文件系统类型,reclaimPolicy确保数据持久性。模块化结构允许在不同集群复用此模板,仅需调整参数即可适配环境差异。

第四章:动态伸缩与运行时扩展技巧

4.1 结合docker-compose up --scale实现水平扩展

在微服务架构中,动态调整服务实例数量是应对流量波动的关键手段。Docker Compose 提供了 `--scale` 参数,可在启动服务时指定副本数,实现快速水平扩展。
基本用法示例
docker-compose up --scale web=5 --scale worker=3
该命令启动 `web` 服务的 5 个实例和 `worker` 服务的 3 个实例。所有实例共享同一镜像与配置,通过负载均衡器自动分发请求。
核心参数说明
  • --scale:指定服务名称及实例数量,格式为 service=num
  • 多个服务可同时缩放,彼此独立运行
  • 依赖于 Docker 内置 DNS 轮询机制实现服务发现
此方式适用于开发测试环境或轻量级部署场景,结合反向代理可进一步提升可用性。

4.2 利用环境变量注入实现配置动态化

在现代应用部署中,配置与代码分离是提升可维护性的关键实践。环境变量注入允许应用在不同运行环境中加载适配的配置,无需重新构建镜像。
环境变量的注入方式
Kubernetes 中可通过 env 字段将配置传入容器:
env:
  - name: DATABASE_URL
    valueFrom:
      configMapKeyRef:
        name: app-config
        key: db_url
  - name: LOG_LEVEL
    value: "debug"
上述配置从 ConfigMap 注入数据库地址,并直接设置日志级别。通过外部化配置,实现了应用逻辑与环境解耦。
多环境配置管理
使用环境变量可轻松支持多环境部署:
  • 开发环境:启用调试日志与热重载
  • 生产环境:关闭敏感信息输出,连接高可用数据库
  • 测试环境:使用模拟服务与固定数据集
该机制提升了部署灵活性,是实现持续交付的重要支撑。

4.3 外部配置文件加载与覆盖机制

在现代应用架构中,外部配置文件的加载与覆盖机制是实现环境隔离与动态配置的核心。系统启动时按预定义顺序扫描配置源,优先级由低到高依次为:默认配置、环境配置文件、远程配置中心、命令行参数。
配置加载流程
  • application.yml:基础默认值
  • application-{env}.yml:环境特定覆盖
  • Config Server:集中式远程管理
  • 系统属性/命令行:最高优先级
示例配置结构
server:
  port: 8080
database:
  url: jdbc:mysql://localhost/dev
  username: root
  password: ${DB_PASSWORD:secret}
上述代码中,${DB_PASSWORD:secret} 使用占位符语法,表示优先读取环境变量 DB_PASSWORD,未设置时使用默认值 secret,体现了灵活的值注入机制。
多环境覆盖逻辑
环境激活方式配置文件
开发spring.profiles.active=devapplication-dev.yml
生产spring.profiles.active=prodapplication-prod.yml

4.4 运行时条件判断与配置切换方案

在现代应用架构中,运行时动态决策能力至关重要。通过条件判断机制,系统可根据环境变量、用户特征或服务状态实时调整行为路径。
基于环境的配置加载
使用条件语句加载不同环境配置:
{
  "env": "production",
  "useCache": true,
  "apiEndpoint": "https://api.example.com"
}
逻辑分析:根据启动时传入的 `NODE_ENV` 变量决定加载 `development` 或 `production` 配置块,实现无缝环境迁移。
多场景切换策略
  • 通过特征开关(Feature Flag)控制新功能可见性
  • 依据负载情况切换数据源读写策略
  • 按设备类型返回适配的响应结构
该机制提升了系统的灵活性与容错能力,支持灰度发布与快速回滚。

第五章:总结与未来扩展方向

性能优化策略的实际应用
在高并发系统中,数据库连接池的调优至关重要。以下是一个基于 Go 语言的 PostgreSQL 连接池配置示例,已在生产环境中验证其稳定性:

db, err := sql.Open("postgres", dsn)
if err != nil {
    log.Fatal(err)
}
// 设置最大空闲连接数
db.SetMaxIdleConns(10)
// 设置最大打开连接数
db.SetMaxOpenConns(100)
// 设置连接最长生命周期
db.SetConnMaxLifetime(time.Hour)
微服务架构下的可观测性增强
为提升系统可维护性,建议集成分布式追踪与日志聚合方案。以下是推荐的技术栈组合:
  • Prometheus:用于指标采集与告警
  • Loki:轻量级日志收集系统,与 PromQL 兼容
  • Jaeger:实现跨服务链路追踪
  • Grafana:统一可视化仪表盘展示
边缘计算场景中的部署演进
随着 IoT 设备增长,将推理任务下沉至边缘节点成为趋势。下表对比了三种典型部署模式的适用场景:
部署模式延迟表现运维复杂度适用场景
中心化云部署较高(100ms+)低非实时数据分析
区域边缘节点中等(30-80ms)中视频流初步过滤
设备端推理极低(<10ms)高工业控制响应
部署拓扑示意图:
用户终端 → 边缘网关(Kubernetes Edge Cluster) → 区域数据中心 → 核心云平台
TG-2026-11-08-071400786.mp4 立即下载

相关推荐

互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识

互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识

【稀缺技术揭秘】:大规模微服务部署中Docker Compose端口范围自动化管理方案

解决微服务端口冲突难题,提供Docker Compose的端口范围自动化管理方案。适用于大规模部署场景,通过动态分配机制实现高效端口管理,提升服务隔离性与部署灵活性。方法实用,运维效率显著提升,值得收藏。

QuickCode的博客 968

巴基斯坦进口贸易数据集5097类HS6商品六年

本数据集收录巴基斯坦2019至2024年六年间的年度进口贸易数据,覆盖5097个HS6编码商品类别,年度进口总额达500亿至800亿美元规模,完整捕捉疫情前基线、新冠疫情冲击、进口限制政策与能源价格波动等关键经济节点。高进口额品类包括石油馏分、原油、液化天然气、棕榈油与光伏太阳能设备。字段包含HS6商品名称、HS6编码及2019至2024各年度进口额(美元计价)。适用于能源与大宗商品进口依赖分析、增长率与波动性(CAGR)研究、宏观经济冲击建模,以及按HS两位章节(第27章矿物燃料、84/85章机械设备)展开的宏观行业聚合分析,也是国际贸易研究与时间序列分析课程的实用素材。数据许可:Apache 2.0。

揭秘Docker微服务部署难题:5步搞定高可用集群脚本编写

轻松解决Docker微服务部署难题,5步编写高可用集群脚本。适用于多环境自动化部署,涵盖容器编排、负载均衡与健康检查机制,提升系统稳定性与运维效率。脚本简洁可复用,值得收藏。

FuncWander的博客 358

Crystal Designer 2020 SP2 CR202002P-400-70005715

Crystal Designer 2020 SP2 CR202002P_400-70005715

好的,技术转移行业资深专家为您撰写如下。.docx

好的,技术转移行业资深专家为您撰写如下。

如何快速掌握Docker容器化部署:黑马程序员区块链开发实战指南

在当今的区块链开发领域,**Docker容器化技术**已成为提升开发效率和部署一致性的关键技术。黑马程序员120天全栈区块链开发课程专门设置了Docker实战模块,帮助开发者掌握这一现代化部署工具。本文将为你揭秘Docker在区块链开发中的核心应用,通过实际案例展示如何利用容器化技术简化Hyperledger Fabric等区块链平台的部署流程。🚀 ## 为什么区块链开发需要Docker容器化

gitblog_00041的博客 936

产业园区如何高效匹配产业需求与科技成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

SvelteKit `$app/env/private` 私有环境变量模块完全指南:从 `src/env.ts` 配置到服务端安全导入

`$app/env/private` 是 SvelteKit 3 中用于在服务端代码里安全导入私有环境变量(如 API Key、数据库凭证)的专属模块。本文将围绕 [环境变量官方文档](https://link.gitcode.com/i/d972cb7383f3624f805f1c2cc847fa29) 与仓库内 `@sveltejs/kit/env` 的源码实现,完整讲解如何通过 `src/e

gitblog_01062的博客 430

国央企创新负责人如何系统化管理科技成果与创新资源?.docx

国央企创新负责人如何系统化管理科技成果与创新资源?

【动态多智能体系统的通信感知编队控制】一种新颖的通信感知编队控制策略,用于动态多智能体系统研究(Matlab代码、Python代码实现)

内容概要:文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其内容并未深入介绍Plecs环境下全桥LLC谐振变换器的具体建模与仿真过程,而是呈现为一份涵盖多领域科研主题的资源列表。文档内容广泛涉及多智能体系统控制、无人机路径规划、电力电子变换器、状态估计、信号处理、优化算法等研究方向,并多次提及Matlab/Simulink、Python等工具的代码实现。整体来看,该文档更像是一份科研项目目录或技术资源索引,重点推介了包括LLC谐振变换器在内的多种控制系统与电力电子仿真模型,但对标题所述核心内容缺乏详尽的技术描述与实现细节。; 适合人群:电力电子、自动化、控制工程、信号处理及多智能体系统等相关领域的研究生、科研人员与工程技术人员。; 使用场景及目标:①为科研工作者提供跨学科的技术方向参考与研究选题灵感;②获取电力系统、无人机控制、信号处理等领域成熟的Matlab/Simulink或Python仿真代码资源,用于算法验证与模型复现。; 阅读建议:建议将此文档作为科研资源导航目录使用,读者可根据自身研究方向筛选感兴趣的主题,并通过文中提供的公众号或网盘链接获取完整的代码、仿真模型与配套资料进行深入学习与实践。

MiroFish:革命性群体智能引擎,重塑复杂系统预测的技术范式

在当今数据驱动的决策环境中,传统预测方法面临三大技术瓶颈:线性模型无法捕捉非线性蝴蝶效应、数据孤岛导致信息割裂、静态分析忽略动态交互影响。MiroFish通过多智能体模拟与知识图谱融合技术,构建了一个能够模拟真实世界复杂性的平行数字世界,实现了从数据到预测的革命性突破。 ## 技术架构深度解析:从知识提取到智能体协同的完整技术栈 MiroFish的技术架构采用分层设计理念,将复杂的群体智能预测

gitblog_00224的博客 1020

产业园区运营负责人如何提升企业技术需求与科研资源的精准匹配效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Fan Control 使用手册:从零解压到风扇转速稳定降噪的完整流程

电脑风扇工作时噪音忽高忽低,是因为主板固件在"猜"转速。Fan Control 是一款面向 Windows 10/11 的风扇控制软件,它把"温度换转速"的决策权从固件手里交到你手上。本手册带你从下载压缩包到调完第一轮降噪参数,10 分钟内见效。学完你能独立调整最关键的几个转速参数,也知道出问题时该查哪条修复路径。 ## 安装:三步跑通 Fan Control 只需三步,不用装安装包: 1.

gitblog_00058的博客 868

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文档系统整理了电力电子与电力系统领域的多项Simulink仿真资源,重点围绕“两相交错并联Boost电路仿真模型”展开,涵盖其在高功率密度、低输入电流纹波等性能优化方面的建模与控制实现。资源集合不仅包括Boost类变换器,还广泛涉及LLC谐振变换器(半桥、全桥、多相交错)、PFC功率因数校正电路(图腾柱、维也纳拓扑)、双向DC-DC变换器(Buck-Boost、CLLC)、PWM整流器及DAB双有源桥等多种典型电力电子拓扑结构的闭环控制系统设计。每个模型均强调动态响应分析、均流控制、软开关技术与稳定性验证,适用于新能源发电、电动汽车V2G系统、储能能量管理及充电桩等前沿应用场景,体现了较强的工程实践价值与科研参考意义。; 适合人群:面向电气工程、自动化、电力电子与电力传动等相关专业的高校本科生、研究生,以及从事电源设计、新能源系统开发、车载充电机、工业变流器研发的工程技术人员,尤其适合具备电路理论基础和Simulink/Matlab仿真经验的学习者进一步深化系统建模与控制策略研究。; 使用场景及目标:① 深入理解交错并联Boost电路的工作原理及其在抑制输入电流纹波、提升效率方面的作用机制;② 掌握利用Simulink构建复杂电力电子系统的建模方法,开展控制器设计(如PI、双闭环、VOC、SVPWM)与动态性能仿真;③ 为毕业设计、科研课题或实际工程项目提供可复用的技术参考,支撑高性能DC-DC变换器与AC-DC整流系统的开发需求。; 阅读建议:建议结合文档中列出的LLC、PFC、双向DC-DC等配套仿真案例进行横向对比学习,深入把握不同拓扑间的共性与差异;同时推荐配合提供的Mathcad计算书、设计报告与参考文献,完成从参数设计、模型搭建到仿真验证的全流程实践,全面提升理论分析与工程应用相结合的能力。

交错并联图腾柱PFC变换器仿真设计(Simulink仿真实现)

内容概要:本文档聚焦于“交错并联图腾柱PFC变换器仿真设计(Simulink仿真实现)”这一核心技术主题,系统性地提供了基于Simulink平台的电力电子变换器建模与仿真资源,涵盖交错并联图腾柱PFC变换器的主电路拓扑结构、控制策略实现、动态性能分析及仿真验证全过程。文档不仅深入介绍了该变换器在高效率、低谐波、高功率因数方面的优势,还详细展示了其在均流控制、软开关实现、抗干扰能力等方面的仿真设计要点。同时,配套资源丰富,涵盖了多种典型电力电子系统案例,如三相PWM整流器、VIENNA整流器、LLC谐振变换器、双有源桥DAB变换器等,涉及PI双闭环、滞环控制、SVPWM调制、中点电压均衡、软开关技术等多种关键控制方法。此外,资源包还包含Mathcad计算书、Simulink/Plecs仿真模型、设计报告与参考文献,构建了从理论推导、参数设计到仿真验证的完整技术链条,便于用户快速掌握并复现先进拓扑的控制逻辑与系统设计流程。; 适合人群:面向具备电力电子、电气工程、自动化等相关专业背景,熟悉Matlab/Simulink仿真环境,从事新能源发电、电动汽车、工业电源、电能质量治理等方向的科研人员、高校研究生以及具有1-5年工作经验的电力电子工程师;尤其适合正在开展高效率PFC电路研究或需要完成相关课题设计的技术人员。; 使用场景及目标:①深入理解交错并联图腾柱PFC变换器的工作原理与建模方法,掌握其在提升系统效率与降低输入电流畸变方面的技术优势;②学习并实践高性能PFC电路的双闭环控制、均流策略与软启动设计,提升仿真调试与参数整定能力;③借助提供的标准化仿真模板、计算工具与完整案例,快速搭建类似拓扑系统,支撑科研论文复现、项目开发或课程设计,显著提高研发效率与设计可靠性。; 阅读建议:建议结合文档中列出的仿真模型与Mathcad计算书同步操作,优先按照资源目录顺序循序渐进学习,重点关注控制环路的设计逻辑、PI参数整定方法与系统稳定性判据;推荐通过网盘链接下载全部资料,动手修改模型参数并观察响应变化,以加深对控制策略本质的理解,实现从“看懂”到“会用”的转化。

KMP全栈开发:从Android到AI Agent的技术文章大纲

方案选择建议:根据团队规模、技术栈、安全要求推荐最适合的路径成本估算:硬件投入、运维人力、电费估算未来趋势:模型小型化、推理效率提升、多模态代码理解行动号召:立即开始你的离线智能编码环境搭建之旅。

2601_96604326的博客 486

【数学基础】基于欧拉角表达的旋转顺序

欧拉角旋转顺序

FalschxMico 1384
上一篇: 【Docker Swarm故障转移实战指南】:掌握高可用集群的5大关键策略
下一篇: 【协作传感+容器化部署必看】:4类典型场景下的Docker性能压测报告
VarLens
博客等级 码龄1年 168粉丝 2188原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值