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

docker镜像中集成act工具

# 使用官方 Ubuntu 22.04 基础镜像
FROM ubuntu:22.04# 安装系统依赖并清理缓存
RUN apt-get update && \apt-get install -y --no-install-recommends \curl \git \make \gcc \g++ \libssl-dev \pkg-config \&& \apt-get clean && \rm -rf /var/lib/apt/lists/*# 设置 ACT 版本变量(便于后续更新)
ARG ACT_VERSION="v0.2.65"# 下载并安装 ACT
RUN curl -LO "https://github.com/nektos/act/releases/download/${ACT_VERSION}/act_Linux_x86_64.tar.gz" && \tar -xzf act_Linux_x86_64.tar.gz && \mv act /usr/local/bin/ && \chmod +x /usr/local/bin/act && \rm act_Linux_x86_64.tar.gz# 验证安装
CMD ["act", "--version"]

优化说明:

  1. 结构分层

    • 使用清晰的注释划分功能区块
    • 每个主要步骤有明确注释说明
  2. 依赖管理

    --no-install-recommends # 避免安装非必要依赖
    apt-get clean && rm -rf /var/lib/apt/lists/* # 合并清理命令
    
  3. 版本维护

    ARG ACT_VERSION="v0.2.65" # 集中管理版本号
    "https://...download/${ACT_VERSION}/..." # 动态引用版本
    
  4. 命令优化

    • 使用 && \ 连接多行命令,减少镜像层数
    • 引号包裹 URL 防止特殊字符问题
    • 删除中间文件 (rm act_Linux_x86_64.tar.gz)
  5. 构建建议

    # 构建时指定版本(可选)
    docker build --build-arg ACT_VERSION=v0.2.66 -t my-act-image .# 验证功能
    docker run --rm my-act-image
    

最佳实践扩展:

# 可添加的优化项:# 1. 时区设置
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone# 2. 非root用户运行
RUN useradd -m actuser
USER actuser# 3. 工作目录设置
WORKDIR /workspace

注意:当 ACT 更新时,只需修改 ACT_VERSION 参数值即可升级,无需改动其他代码。

http://www.lryc.cn/news/574095.html

相关文章:

  • 刀客doc:阿里巴巴集团品牌部划归集团公关管理
  • Java基础(三):逻辑运算符详解
  • P3258 [JLOI2014] 松鼠的新家
  • (LeetCode 面试经典 150 题) 27.移除元素
  • PR出书启动
  • ✨通义万相2.1深度解析:AI视频生成引擎FLF2V-14B全流程指南(命令行参数+模型架构+数据流)
  • VTK.js
  • 容声冰箱如何让荔枝在世俱杯赛场外再“长7天”
  • Elasticsearch API访问权限控制:禁用外部端点访问
  • 在Ubuntu上设置Selenium自动化测试环境:Chrome与Firefox的详细指南
  • 海拔案例分享-门店业绩管理小程序
  • 小程序 顶部栏标题栏 下拉滚动 渐显白色背景
  • Python Django全功能框架开发秘籍
  • 多模态大语言模型arxiv论文略读(133)
  • 【nvidia-H100-ib排障实战2】:服务器 InfiniBand 网络性能问题深度分析
  • 学习Linux进程冻结技术
  • 科技资讯杂志科技资讯杂志社科技资讯编辑部2025年第9期目录
  • 微算法科技(NASDAQ:MLGO)研发可信共识算法TCA,解决区块链微服务中的数据一致性与安全挑战
  • 笔试强训:Day8
  • Qt for OpenHarmony 编译鸿蒙调用的动态库
  • MCU双分区方案,如何优雅地获知当前运行分区?
  • 开发上门按摩APP应具备哪些安全保障功能?
  • 实时预警!机场机坪井室无线智能液位监测系统助力安全降本
  • 【设计模式精讲 Day 12】代理模式(Proxy Pattern)
  • WebSocket 进阶全攻略:心跳机制、断线重连、socket.io、鉴权与WSS配置
  • LeetCode热题100—— 160. 相交链表
  • 拼多多API限流机制破解:分布式IP池搭建与流量伪装方案
  • Re:从零开始的地址映射基本分页存储管理方式(考研向)
  • 京东金融API支付链路剖析:白条分期接口的安全加固方案
  • ​​FFmpeg命令全解析:三步完成视频合并、精准裁剪​​、英伟达显卡加速