From 3c576934c7000e90c7b2ca3e19dc59be4823b1c6 Mon Sep 17 00:00:00 2001 From: nns <278048682+nurdotnet@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:39:29 +0500 Subject: [PATCH] =?UTF-8?q?ci(docker):=20=D0=BE=D1=82=D0=BA=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20buildx=20=E2=86=92=20docker=20build=20(reg?= =?UTF-8?q?istry=20connect=20refused=20=D0=B2=D0=BD=D1=83=D1=82=D1=80?= =?UTF-8?q?=D0=B8=20builder)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit buildx --driver docker-container запускает builder в изолированном сетевом namespace, откуда 127.0.0.1:5001 (host registry) недоступен: ошибка «dial tcp 127.0.0.1:5001: connect: connection refused» в шаге FROM ${LOCAL_REGISTRY}/mirror/dotnet-aspnet:8.0. Откатываю на классический `docker build` + `docker push`. У host docker daemon уже есть 127.0.0.1:5001 в insecure-registries, layer-cache демона между сборками сохраняет dotnet restore / pnpm install при стабильных манифестах. Path-фильтры (api vs web) остаются — это основной выигрыш по времени. Co-Authored-By: Claude Opus 4.7 (1M context) --- .forgejo/workflows/docker-api.yml | 17 ++++++++++------- .forgejo/workflows/docker-web.yml | 13 ++++++------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.forgejo/workflows/docker-api.yml b/.forgejo/workflows/docker-api.yml index aa0edd1..8a24eab 100644 --- a/.forgejo/workflows/docker-api.yml +++ b/.forgejo/workflows/docker-api.yml @@ -25,19 +25,22 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Build + push (buildx with registry cache) + - name: Build + push (Docker daemon layer-cache) env: SHA: ${{ github.sha }} + DOCKER_BUILDKIT: '1' run: | - docker buildx create --use --name fmbuilder --driver docker-container 2>/dev/null \ - || docker buildx use fmbuilder - docker buildx build \ + # Используем обычный docker build — у host docker daemon в + # /etc/docker/daemon.json уже прописан 127.0.0.1:5001 как + # insecure-registry, и docker layer-cache между сборками + # дает быстрый dotnet restore/pnpm install при стабильных манифестах. + docker build \ -f deploy/Dockerfile.api \ -t $LOCAL_REGISTRY/food-market-api:$SHA \ -t $LOCAL_REGISTRY/food-market-api:latest \ - --cache-from type=registry,ref=$LOCAL_REGISTRY/food-market-api:buildcache \ - --cache-to type=registry,ref=$LOCAL_REGISTRY/food-market-api:buildcache,mode=max \ - --push . + . + docker push $LOCAL_REGISTRY/food-market-api:$SHA + docker push $LOCAL_REGISTRY/food-market-api:latest deploy: name: Deploy API on stage diff --git a/.forgejo/workflows/docker-web.yml b/.forgejo/workflows/docker-web.yml index be13c08..a091b1c 100644 --- a/.forgejo/workflows/docker-web.yml +++ b/.forgejo/workflows/docker-web.yml @@ -21,19 +21,18 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Build + push (buildx with registry cache) + - name: Build + push (Docker daemon layer-cache) env: SHA: ${{ github.sha }} + DOCKER_BUILDKIT: '1' run: | - docker buildx create --use --name fmbuilder --driver docker-container 2>/dev/null \ - || docker buildx use fmbuilder - docker buildx build \ + docker build \ -f deploy/Dockerfile.web \ -t $LOCAL_REGISTRY/food-market-web:$SHA \ -t $LOCAL_REGISTRY/food-market-web:latest \ - --cache-from type=registry,ref=$LOCAL_REGISTRY/food-market-web:buildcache \ - --cache-to type=registry,ref=$LOCAL_REGISTRY/food-market-web:buildcache,mode=max \ - --push . + . + docker push $LOCAL_REGISTRY/food-market-web:$SHA + docker push $LOCAL_REGISTRY/food-market-web:latest deploy: name: Deploy Web on stage