use host.docker.internal proxy build
Some checks failed
Build and Push to ACR / docker (push) Failing after 14m21s

This commit is contained in:
2025-09-30 16:47:16 +08:00
parent d0c567d833
commit 3e4981a74d

View File

@@ -51,36 +51,21 @@ jobs:
echo "$ACR_PASSWORD" | docker login "$ACR_REGISTRY" \ echo "$ACR_PASSWORD" | docker login "$ACR_REGISTRY" \
--username "$ACR_USERNAME" --password-stdin --username "$ACR_USERNAME" --password-stdin
- name: Build Docker Image (proxy_net, one step) - name: Build Docker Image (via host proxy)
env: env:
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }} IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
TAG: ${{ steps.meta.outputs.tag }} TAG: ${{ steps.meta.outputs.tag }}
run: | run: |
set -euo pipefail set -euo pipefail
# 1) 确保网络存在
docker network inspect proxy_net >/dev/null 2>&1 || docker network create proxy_net
# 2) 重新创建并启用 builder加入 proxy_net 且注入默认代理
docker buildx rm ci-builder >/dev/null 2>&1 || true
docker buildx create \
--name ci-builder --use \
--driver docker-container \
--driver-opt network=proxy_net \
--driver-opt env.http_proxy=http://proxy:7890,env.https_proxy=http://proxy:7890 \
>/dev/null
# 3) 构建(通过代理)。若想本步直接推仓库,把 --load 改成 --push
docker buildx build \ docker buildx build \
--builder ci-builder \
--progress=plain \ --progress=plain \
--build-arg HTTP_PROXY=http://proxy:7890 \ --add-host=host.docker.internal:host-gateway \
--build-arg HTTPS_PROXY=http://proxy:7890 \ --build-arg HTTP_PROXY=http://host.docker.internal:7890 \
--build-arg NO_PROXY=localhost,127.0.0.1,proxy \ --build-arg HTTPS_PROXY=http://host.docker.internal:7890 \
--build-arg NO_PROXY=localhost,127.0.0.1 \
--load \ --load \
-t "${IMAGE}:${TAG}" -f docker/Dockerfile . -t "${IMAGE}:${TAG}" -f docker/Dockerfile .
- name: Push Docker Image - name: Push Docker Image
env: env:
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }} IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}