# act_runner 配置参考 工作流 `runs-on: ubuntu-latest`;`docker` job 额外使用 `catthehacker/ubuntu:act-22.04` 容器(含 Docker CLI)。 ## 构建镜像必须:挂载 Docker Socket `docker` job 需要访问宿主机 Docker 引擎。在 **runner 所在机器** 的 `config.yaml` 中配置: ```yaml container: options: -v /var/run/docker.sock:/var/run/docker.sock valid_volumes: - /var/run/docker.sock ``` 推荐 job 镜像(含 Node + Docker CLI): ```yaml runner: labels: - "ubuntu-latest:docker://catthehacker/ubuntu:act-22.04" - "ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04" ``` 修改后 **重启 runner**(例如 `docker restart ` 或重启 Gitea Runner 服务)。 ## 验证 在 runner 宿主机执行: ```bash docker info ls -l /var/run/docker.sock ``` ## 从零部署 runner(可选) ```bash cd .gitea/act-runner cp .env.example .env # 填入 Registration Token docker compose up -d ``` ## 常见错误 | 报错 | 原因 | 处理 | |------|------|------| | `docker: command not found` | job 容器无 Docker CLI | 工作流已指定 act 镜像;或 runner 改用 catthehacker/ubuntu | | `Cannot connect to Docker daemon` | 未挂载 docker.sock | 按上文修改 config.yaml 并重启 runner | | `node not in PATH` | job 镜像无 Node | 标签映射改用 catthehacker/ubuntu:act-22.04 | ## Gitea Runner v0.6.x(个人 runner) 1. 找到 runner 的配置文件或环境(安装目录 / docker compose) 2. 确保 runner 进程能访问宿主机 `/var/run/docker.sock` 3. Runners 页标签含 `ubuntu-latest` 且状态 **空闲/在线** 若使用 Gitea 网页注册的个人 runner(docker 模式),通常需在 runner 启动参数或 `config.yaml` 里加入 socket 挂载,具体路径取决于你的安装方式。