Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计异常

act-docker-setupACT Docker 设置

Agent Skill

用于辅助云资源、部署、容器、基础设施和运维自动化任务。它适合让 Agent 检查配置、整理部署步骤、分析资源状态、生成排障思路或辅助云服务接入。使用时需要明确目标环境、账号权限、区域和资源组,区分本地测试与生产操作;涉及删除资源、重启服务、修改网络或权限配置时,应先确认影响范围。

总安装

494

周安装

20

GitHub Stars

142

下载量

155
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:act-docker-setup(ACT Docker 设置)
来源仓库:https://github.com/thebushidocollective/han
仓库路径:skills/act-docker-setup
安装命令:
npx skills add https://github.com/thebushidocollective/han --skill act-docker-setup
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/thebushidocollective/han --skill act-docker-setup

简介

act-docker-setup 协助配置 Docker 环境以支持 act 工具运行 GitHub Actions。

  • 可用于选择 runner 镜像、管理容器资源及优化本地测试性能。
  • 提供微、中、大三种镜像分类,满足不同工具链需求。
  • 涉及容器网络与存储挂载时,应评估安全风险与隔离机制有效性。
  • 生产环境使用前务必验证配置兼容性,避免影响现有服务稳定性。

SKILL.md

Act - Docker Configuration and Setup

Use this skill when configuring Docker for act, choosing runner images, managing container resources, and optimizing Docker performance for local GitHub Actions workflow testing.

Runner Images

Image Size Categories

Act supports three image size categories:

SizeImageToolsUse Case
Micronode:16-buster-slimMinimalSimple Node.js workflows
Mediumcatthehacker/ubuntu:act-*Common toolsMost workflows
Largecatthehacker/ubuntu:full-*EverythingMaximum compatibility

Official catthehacker Images

# Latest Ubuntu (22.04)
act -P ubuntu-latest=catthehacker/ubuntu:act-latest

# Specific Ubuntu versions
act -P ubuntu-22.04=catthehacker/ubuntu:act-22.04
act -P ubuntu-20.04=catthehacker/ubuntu:act-20.04

# Full images (larger, more tools)
act -P ubuntu-latest=catthehacker/ubuntu:full-latest
act -P ubuntu-22.04=catthehacker/ubuntu:full-22.04

# Runner images (closest to GitHub)
act -P ubuntu-latest=catthehacker/ubuntu:runner-latest

Language-Specific Images

# Node.js
act -P ubuntu-latest=node:20
act -P ubuntu-latest=node:20-alpine

# Python
act -P ubuntu-latest=python:3.12
act -P ubuntu-latest=python:3.12-slim

# Go
act -P ubuntu-latest=golang:1.22
act -P ubuntu-latest=golang:1.22-alpine

# Ruby
act -P ubuntu-latest=ruby:3.3
act -P ubuntu-latest=ruby:3.3-alpine

Platform Configuration

.actrc Configuration

Create .actrc in project root for persistent settings:

# Default platform images
-P ubuntu-latest=catthehacker/ubuntu:act-latest
-P ubuntu-22.04=catthehacker/ubuntu:act-22.04
-P ubuntu-20.04=catthehacker/ubuntu:act-20.04

# Reuse containers
--reuse

# Container options
--container-architecture linux/amd64
--container-daemon-socket -

# Resource limits
--container-cap-add SYS_PTRACE
--container-cap-add NET_ADMIN

Per-Workflow Configuration

Create .github/workflows/.actrc for workflow-specific settings:

-P ubuntu-latest=node:20
--env-file .env.ci

Command Line Override

# Override .actrc settings
act -P ubuntu-latest=python:3.12 --no-reuse

Container Management

Reusing Containers

# Reuse containers for faster iteration
act --reuse

# Reuse with specific job
act --reuse -j build

# Force recreate containers
act --rm

Container Lifecycle

# List running act containers
docker ps --filter "label=act"

# Stop all act containers
docker stop $(docker ps -q --filter "label=act")

# Remove all act containers
docker rm $(docker ps -aq --filter "label=act")

# Clean up act volumes
docker volume prune

Inspect Containers

# Exec into running container
docker exec -it act-<job-name> /bin/bash

# View container logs
docker logs act-<job-name>

# Inspect container config
docker inspect act-<job-name>

Volume Mounts and Binds

Default Mounts

Act automatically mounts:

  • Current directory → /github/workspace
  • Act cache → /root/.cache/act
  • Docker socket (if needed)

Custom Bind Mounts

# Mount additional directory
act --bind /host/path:/container/path

# Mount multiple directories
act --bind /data:/data --bind /config:/config

# Read-only mount
act --bind /readonly:/readonly:ro

Persistent Cache

# Configure cache location
export ACT_CACHE_DIR=$HOME/.cache/act

# Clean cache
rm -rf $HOME/.cache/act

Docker Configuration

Docker Socket

# Use default Docker socket
act --container-daemon-socket -

# Use custom socket
act --container-daemon-socket /var/run/docker.sock

# Use Docker Desktop socket (Mac)
act --container-daemon-socket unix:///Users/$USER/.docker/run/docker.sock

Container Architecture

# Specify architecture
act --container-architecture linux/amd64

# For Apple Silicon Macs
act --container-architecture linux/arm64

Network Configuration

# Use host network
act --network host

# Use custom network
act --network my-network

# Create isolated network
docker network create act-network
act --network act-network

Resource Management

Memory Limits

# Set memory limit
act --memory 4g

# Set memory and swap
act --memory 4g --memory-swap 8g

CPU Limits

# Limit CPU cores
act --cpus 2

# Set CPU shares
act --cpu-shares 512

Disk Space

# Check Docker disk usage
docker system df

# Clean up unused resources
docker system prune -a

# Remove old act cache
find ~/.cache/act -type d -mtime +30 -exec rm -rf {} +

Security

Capabilities

# Add Linux capabilities
act --container-cap-add SYS_PTRACE

# Drop capabilities
act --container-cap-drop ALL

# Security profile
act --security-opt seccomp=unconfined

Privileged Mode

# Run in privileged mode (use sparingly)
act --privileged

# Safer: add specific capabilities instead
act --container-cap-add SYS_ADMIN

Multi-Platform Builds

Docker Buildx

# Workflow using buildx
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: docker/setup-buildx-action@v3
      - uses: docker/build-push-action@v5
        with:
          platforms: linux/amd64,linux/arm64

Test with act:

# Enable buildx in act
act --use-gitignore=false \
    -P ubuntu-latest=catthehacker/ubuntu:act-latest

Troubleshooting

Image Pull Failures

# Pull image manually
docker pull catthehacker/ubuntu:act-latest

# Use cached image
act --pull=false

# Force pull latest
act --pull=true

Permission Issues

# Fix workspace permissions
act --container-options "--user $(id -u):$(id -g)"

# Run as root (not recommended)
act --container-options "--user root"

DNS Issues

# Use custom DNS
act --container-options "--dns 8.8.8.8"

# Use host DNS
act --container-options "--dns-search ."

Container Exit Codes

# Continue on error
act --continue-on-error

# Capture exit code
act; echo $?

Performance Optimization

Image Selection

Choose the smallest image that meets your needs:

# Fast but limited
act -P ubuntu-latest=node:20-alpine

# Balanced
act -P ubuntu-latest=catthehacker/ubuntu:act-latest

# Comprehensive but slow
act -P ubuntu-latest=catthehacker/ubuntu:full-latest

Layer Caching

# Optimize Dockerfile for caching
FROM node:20

# Install system deps first (changes rarely)
RUN apt-get update && apt-get install -y git

# Copy package files (changes sometimes)
COPY package*.json ./

# Install deps (changes sometimes)
RUN npm ci

# Copy source (changes often)
COPY . .

Parallel Jobs

# Run jobs in parallel
act --parallel

# Limit parallelism
act --parallel --jobs 2

Custom Images

Building Custom Image

Create Dockerfile:

FROM catthehacker/ubuntu:act-latest

# Add custom tools
RUN apt-get update && apt-get install -y \
    postgresql-client \
    redis-tools \
    && rm -rf /var/lib/apt/lists/*

# Install specific Node version
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
    && apt-get install -y nodejs

# Install global npm packages
RUN npm install -g pnpm yarn

Build and use:

docker build -t my-act-runner .
act -P ubuntu-latest=my-act-runner

Publishing Custom Image

# Tag image
docker tag my-act-runner username/act-runner:latest

# Push to Docker Hub
docker push username/act-runner:latest

# Use in team
act -P ubuntu-latest=username/act-runner:latest

Best Practices

DO

✅ Use .actrc for consistent configuration across team ✅ Choose appropriate image size for your needs ✅ Use --reuse during development ✅ Clean up Docker resources regularly ✅ Pin image versions in production workflows ✅ Use layer caching for faster builds ✅ Document image requirements in README

DON'T

❌ Use :latest tags in production ❌ Run containers in privileged mode unnecessarily ❌ Ignore Docker disk space usage ❌ Use oversized images for simple workflows ❌ Commit large images to version control ❌ Skip Docker resource cleanup ❌ Expose sensitive data in container logs

Common Patterns

Development Setup

# Fast iteration setup
cat > .actrc << 'EOF'
-P ubuntu-latest=catthehacker/ubuntu:act-latest
--reuse
--rm=false
--container-architecture linux/amd64
EOF

CI Validation

# Strict validation setup
act --dryrun \
    --pull=true \
    --no-reuse \
    -P ubuntu-latest=catthehacker/ubuntu:full-latest

Monorepo Setup

# Different images per job
act -j backend -P ubuntu-latest=node:20 \
    -j frontend -P ubuntu-latest=node:20-alpine \
    -j database -P ubuntu-latest=postgres:16

Related Skills

  • act-workflow-syntax: Creating workflow files
  • act-local-testing: Testing workflows with act CLI
  • act-advanced-features: Advanced act usage patterns

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

26%
按下载量换算40

Codex

21.93%
按下载量换算34

OpenCode

18.42%
按下载量换算29

Antigravity

12.25%
按下载量换算19

windsurf

7.98%
按下载量换算12

Gemini CLI

3.75%
按下载量换算6

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills