ci(docker): откатить buildx → docker build (registry connect refused внутри builder)

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) <noreply@anthropic.com>
This commit is contained in:
nns 2026-04-25 13:39:29 +05:00
parent 8d9cd201b4
commit 3c576934c7
2 changed files with 16 additions and 14 deletions

View file

@ -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

View file

@ -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