From 12f1cd55268f7b56a3069d7f6e4de9deece5ca4b Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Sat, 12 Jul 2025 17:15:03 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=98=E4=BF=AE=E6=94=B9=E4=B8=BAdind?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E8=BF=9B=E8=A1=8C=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- forgejo-runner/7.0.0/docker-compose.yml | 20 +++++++++++-- forgejo-runner/7.0.0/scripts/init.sh | 22 +++++++------- forgejo-runner/7.0.0/scripts/uninstall.sh | 36 +++++++++++------------ 3 files changed, 47 insertions(+), 31 deletions(-) diff --git a/forgejo-runner/7.0.0/docker-compose.yml b/forgejo-runner/7.0.0/docker-compose.yml index 1b4b9d4d6..431e3ee99 100644 --- a/forgejo-runner/7.0.0/docker-compose.yml +++ b/forgejo-runner/7.0.0/docker-compose.yml @@ -1,16 +1,32 @@ version: "3.9" services: + dind: + image: docker:dind + container_name: forgejo-dind + privileged: true + restart: 'unless-stopped' + command: ['dockerd', '-H', 'tcp://0.0.0.0:2375', '--tls=false'] + environment: + DOCKER_TLS_CERTDIR: "" + networks: + - 1panel-network forgejo_runner: image: code.forgejo.org/forgejo/runner:7.0.0 container_name: ${CONTAINER_NAME:-forgejo-runner} + depends_on: + dind: + condition: service_started + links: + - dind restart: always user: "1000:1000" # 非 root 用户运行容器 command: "/data/scripts/register.sh" volumes: - ./data:/data - - ./scripts/register.sh:/data/scripts/register.sh - - /var/run/docker.sock:/var/run/docker-forgejo-runner.sock + - ./scripts/register.sh:/data/scripts/register.sh:ro + # - /var/run/docker.sock:/var/run/docker-forgejo-runner.sock environment: + - DOCKER_HOST=tcp://dind:2375 - FORGEJO_INSTANCE_URL=${FORGEJO_INSTANCE_URL} - RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN} - RUNNER_NAME=${RUNNER_NAME:-default-runner} diff --git a/forgejo-runner/7.0.0/scripts/init.sh b/forgejo-runner/7.0.0/scripts/init.sh index ff459c1a6..fab55c447 100644 --- a/forgejo-runner/7.0.0/scripts/init.sh +++ b/forgejo-runner/7.0.0/scripts/init.sh @@ -16,20 +16,20 @@ chmod g+s data/.cache chmod +x ./scripts/register.sh -# 创建自定义 docker context 指向 /var/run/docker-forgejo-runner.sock -SOCK_PATH="/var/run/docker-forgejo-runner.sock" -CONTEXT_NAME="forgejo-runner-context" +# # 创建自定义 docker context 指向 /var/run/docker-forgejo-runner.sock +# SOCK_PATH="/var/run/docker-forgejo-runner.sock" +# CONTEXT_NAME="forgejo-runner-context" -# 如果 context 已存在,则先删除 -if docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1; then - docker context rm -f "$CONTEXT_NAME" - echo "已删除旧的 Docker context: $CONTEXT_NAME" -fi +# # 如果 context 已存在,则先删除 +# if docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1; then +# docker context rm -f "$CONTEXT_NAME" +# echo "已删除旧的 Docker context: $CONTEXT_NAME" +# fi -docker context create "$CONTEXT_NAME" \ - --docker "host=unix://$SOCK_PATH" +# docker context create "$CONTEXT_NAME" \ +# --docker "host=unix://$SOCK_PATH" echo "✅ 初始化完成:" echo " - 已创建 ./data 并配置权限" echo " - 已创建 ./scripts/register.sh 并配置权限" -echo " - 已创建 Docker context: $CONTEXT_NAME -> $SOCK_PATH" +# echo " - 已创建 Docker context: $CONTEXT_NAME -> $SOCK_PATH" diff --git a/forgejo-runner/7.0.0/scripts/uninstall.sh b/forgejo-runner/7.0.0/scripts/uninstall.sh index cfdd4632b..5f09780b9 100644 --- a/forgejo-runner/7.0.0/scripts/uninstall.sh +++ b/forgejo-runner/7.0.0/scripts/uninstall.sh @@ -1,21 +1,21 @@ -#!/bin/bash -set -e +# #!/bin/bash +# set -e -CONTEXT_NAME="forgejo-runner-context" -SOCK_PATH="/var/run/docker-forgejo-runner.sock" +# CONTEXT_NAME="forgejo-runner-context" +# SOCK_PATH="/var/run/docker-forgejo-runner.sock" -# 删除 Docker context -if docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1; then - docker context rm -f "$CONTEXT_NAME" - echo "🗑️ 已删除 Docker context: $CONTEXT_NAME" -else - echo "⚠️ Docker context $CONTEXT_NAME 不存在,跳过删除。" -fi +# # 删除 Docker context +# if docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1; then +# docker context rm -f "$CONTEXT_NAME" +# echo "🗑️ 已删除 Docker context: $CONTEXT_NAME" +# else +# echo "⚠️ Docker context $CONTEXT_NAME 不存在,跳过删除。" +# fi -# 删除 socket 文件(如果存在) -if [ -S "$SOCK_PATH" ]; then - rm -f "$SOCK_PATH" - echo "🗑️ 已删除 socket 文件: $SOCK_PATH" -else - echo "⚠️ Socket 文件 $SOCK_PATH 不存在,跳过删除。" -fi \ No newline at end of file +# # 删除 socket 文件(如果存在) +# if [ -S "$SOCK_PATH" ]; then +# rm -f "$SOCK_PATH" +# echo "🗑️ 已删除 socket 文件: $SOCK_PATH" +# else +# echo "⚠️ Socket 文件 $SOCK_PATH 不存在,跳过删除。" +# fi \ No newline at end of file