😘修改为dind方式进行部署
This commit is contained in:
parent
36b6d9e9dc
commit
12f1cd5526
|
|
@ -1,16 +1,32 @@
|
||||||
version: "3.9"
|
version: "3.9"
|
||||||
services:
|
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:
|
forgejo_runner:
|
||||||
image: code.forgejo.org/forgejo/runner:7.0.0
|
image: code.forgejo.org/forgejo/runner:7.0.0
|
||||||
container_name: ${CONTAINER_NAME:-forgejo-runner}
|
container_name: ${CONTAINER_NAME:-forgejo-runner}
|
||||||
|
depends_on:
|
||||||
|
dind:
|
||||||
|
condition: service_started
|
||||||
|
links:
|
||||||
|
- dind
|
||||||
restart: always
|
restart: always
|
||||||
user: "1000:1000" # 非 root 用户运行容器
|
user: "1000:1000" # 非 root 用户运行容器
|
||||||
command: "/data/scripts/register.sh"
|
command: "/data/scripts/register.sh"
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
- ./scripts/register.sh:/data/scripts/register.sh
|
- ./scripts/register.sh:/data/scripts/register.sh:ro
|
||||||
- /var/run/docker.sock:/var/run/docker-forgejo-runner.sock
|
# - /var/run/docker.sock:/var/run/docker-forgejo-runner.sock
|
||||||
environment:
|
environment:
|
||||||
|
- DOCKER_HOST=tcp://dind:2375
|
||||||
- FORGEJO_INSTANCE_URL=${FORGEJO_INSTANCE_URL}
|
- FORGEJO_INSTANCE_URL=${FORGEJO_INSTANCE_URL}
|
||||||
- RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN}
|
- RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN}
|
||||||
- RUNNER_NAME=${RUNNER_NAME:-default-runner}
|
- RUNNER_NAME=${RUNNER_NAME:-default-runner}
|
||||||
|
|
|
||||||
|
|
@ -16,20 +16,20 @@ chmod g+s data/.cache
|
||||||
|
|
||||||
chmod +x ./scripts/register.sh
|
chmod +x ./scripts/register.sh
|
||||||
|
|
||||||
# 创建自定义 docker context 指向 /var/run/docker-forgejo-runner.sock
|
# # 创建自定义 docker context 指向 /var/run/docker-forgejo-runner.sock
|
||||||
SOCK_PATH="/var/run/docker-forgejo-runner.sock"
|
# SOCK_PATH="/var/run/docker-forgejo-runner.sock"
|
||||||
CONTEXT_NAME="forgejo-runner-context"
|
# CONTEXT_NAME="forgejo-runner-context"
|
||||||
|
|
||||||
# 如果 context 已存在,则先删除
|
# # 如果 context 已存在,则先删除
|
||||||
if docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1; then
|
# if docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1; then
|
||||||
docker context rm -f "$CONTEXT_NAME"
|
# docker context rm -f "$CONTEXT_NAME"
|
||||||
echo "已删除旧的 Docker context: $CONTEXT_NAME"
|
# echo "已删除旧的 Docker context: $CONTEXT_NAME"
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
docker context create "$CONTEXT_NAME" \
|
# docker context create "$CONTEXT_NAME" \
|
||||||
--docker "host=unix://$SOCK_PATH"
|
# --docker "host=unix://$SOCK_PATH"
|
||||||
|
|
||||||
echo "✅ 初始化完成:"
|
echo "✅ 初始化完成:"
|
||||||
echo " - 已创建 ./data 并配置权限"
|
echo " - 已创建 ./data 并配置权限"
|
||||||
echo " - 已创建 ./scripts/register.sh 并配置权限"
|
echo " - 已创建 ./scripts/register.sh 并配置权限"
|
||||||
echo " - 已创建 Docker context: $CONTEXT_NAME -> $SOCK_PATH"
|
# echo " - 已创建 Docker context: $CONTEXT_NAME -> $SOCK_PATH"
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,21 @@
|
||||||
#!/bin/bash
|
# #!/bin/bash
|
||||||
set -e
|
# set -e
|
||||||
|
|
||||||
CONTEXT_NAME="forgejo-runner-context"
|
# CONTEXT_NAME="forgejo-runner-context"
|
||||||
SOCK_PATH="/var/run/docker-forgejo-runner.sock"
|
# SOCK_PATH="/var/run/docker-forgejo-runner.sock"
|
||||||
|
|
||||||
# 删除 Docker context
|
# # 删除 Docker context
|
||||||
if docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1; then
|
# if docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1; then
|
||||||
docker context rm -f "$CONTEXT_NAME"
|
# docker context rm -f "$CONTEXT_NAME"
|
||||||
echo "🗑️ 已删除 Docker context: $CONTEXT_NAME"
|
# echo "🗑️ 已删除 Docker context: $CONTEXT_NAME"
|
||||||
else
|
# else
|
||||||
echo "⚠️ Docker context $CONTEXT_NAME 不存在,跳过删除。"
|
# echo "⚠️ Docker context $CONTEXT_NAME 不存在,跳过删除。"
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# 删除 socket 文件(如果存在)
|
# # 删除 socket 文件(如果存在)
|
||||||
if [ -S "$SOCK_PATH" ]; then
|
# if [ -S "$SOCK_PATH" ]; then
|
||||||
rm -f "$SOCK_PATH"
|
# rm -f "$SOCK_PATH"
|
||||||
echo "🗑️ 已删除 socket 文件: $SOCK_PATH"
|
# echo "🗑️ 已删除 socket 文件: $SOCK_PATH"
|
||||||
else
|
# else
|
||||||
echo "⚠️ Socket 文件 $SOCK_PATH 不存在,跳过删除。"
|
# echo "⚠️ Socket 文件 $SOCK_PATH 不存在,跳过删除。"
|
||||||
fi
|
# fi
|
||||||
Loading…
Reference in New Issue