Gitea Actions创建容器不在指定网络,连接超时问题求助
解决Gitea Actions工作流容器无法连接Gitea的问题
你遇到的核心问题是:Gitea Runner启动的工作流容器默认不会加入你指定的network1自定义网络,导致它无法访问同网络下的Gitea服务,最终触发连接超时错误。
以下是三种可行的解决方案:
方案一:全局配置Runner默认网络
修改Gitea Runner的配置文件,让所有工作流容器默认加入network1:
- 找到Runner容器内的
config.yaml文件(通常路径为/data/config.yaml,可通过docker exec <Runner容器名> cat /data/config.yaml查看) - 在配置文件的
runner节点下添加docker_network参数:
runner: docker_network: network1
- 重启Runner容器使配置生效:
docker restart <你的Runner容器名称>
方案二:在单个工作流中指定网络
如果仅需让当前工作流的容器加入network1,直接修改工作流YAML,在container字段下添加network配置:
name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: pull_request: branches: - develop jobs: Explore-Gitea-Actions: runs-on: ubuntu-latest container: image: node:16-bullseye network: network1 # 新增该行指定网络 steps: - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - run: echo "Here is the token ${{ gitea.token }}." - name: Check out repository code uses: actions/checkout@v3 - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." - run: echo "🖥️ The workflow is now ready to test your code on the runner." - name: List files in the repository run: | ls ${{ gitea.workspace }} - run: echo "🍏 This job's status is ${{ job.status }}."
方案三:验证配置有效性
配置完成后,可通过以下方式确认问题解决:
- 工作流运行时,执行
docker network inspect network1,检查输出的Containers列表中是否包含当前工作流的容器 - 在工作流步骤中添加连通性测试:
- run: curl http://<Gitea容器名>:<端口> # 同网络下可直接用容器名替代IP访问
内容的提问来源于stack exchange,提问作者João Cardoso
相关产品推荐
相关产品推荐

