用途:在本地用 act 测试 GitHub Actions 工作流时,配置 Docker 环境、选择运行器镜像、管理容器资源并排查 Docker 相关问题。
主要能力:提供三类镜像选择思路——Micro(如 node:16-buster-slim,工具最少)、Medium(catthehacker/ubuntu:act-,常用工具)、Large(catthehacker/ubuntu:full-,兼容性最大);也可用语言专用镜像,如 node:20、python:3.12、golang:1.22、ruby:3.3。支持通过 .actrc 持久化平台映射,如 -P ubuntu-latest=catthehacker/ubuntu:act-latest,并可用 --reuse 复用容器。
必要用法:命令行可按 -P 覆盖镜像,例如 act -P ubuntu-latest=catthehacker/ubuntu:act-latest;资源限制用 --memory 4g、--cpus 2;网络用 --network host;容器能力用 --container-cap-add SYS_PTRACE。排查时可用 docker ps --filter "label=act" 列出容器、docker logs 查看日志、docker pull 手动拉取镜像,或用 --pull=false 使用缓存镜像。自定义镜像可从 catthehacker/ubuntu:act-latest 构建后以 -P ubuntu-latest=my-act-runner 使用。
适用场景:本地验证 GitHub Actions 工作流、调试容器权限或 DNS、控制资源占用、在 monorepo 中按 job 指定不同镜像,以及多平台构建测试(需 buildx 环境)。
限制:资料未提供 act 及其镜像的安装步骤、费用与价格信息,也未说明具体版本兼容性;privileged 模式仅建议必要时使用,生产工作流不宜使用 :latest 标签。具体命令与配置请以资料给出的写法为准。