# 使用官方 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"]
优化说明:
-
结构分层:
- 使用清晰的注释划分功能区块
- 每个主要步骤有明确注释说明
-
依赖管理:
--no-install-recommends # 避免安装非必要依赖 apt-get clean && rm -rf /var/lib/apt/lists/* # 合并清理命令
-
版本维护:
ARG ACT_VERSION="v0.2.65" # 集中管理版本号 "https://...download/${ACT_VERSION}/..." # 动态引用版本
-
命令优化:
- 使用
&& \
连接多行命令,减少镜像层数 - 引号包裹 URL 防止特殊字符问题
- 删除中间文件 (
rm act_Linux_x86_64.tar.gz
)
- 使用
-
构建建议:
# 构建时指定版本(可选) 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
参数值即可升级,无需改动其他代码。