CI:buildx 回到 docker-container 驱动并通过 buildkitd 配置注入国内 mirror;Dockerfile 支持 NPM_REGISTRY 参数(CI 走 npmmirror)
This commit is contained in:
@@ -105,15 +105,20 @@ jobs:
|
||||
env:
|
||||
TAGS: ${{ steps.meta.outputs.tags }}
|
||||
run: |
|
||||
# docker-container 驱动才支持多平台;mirror 注入 buildkitd 配置
|
||||
# (docker-container 是独立 BuildKit,不读 daemon.json)
|
||||
printf '[registry."docker.io"]\nmirrors = ["docker.m.daocloud.io", "docker.1ms.run"]\n' \
|
||||
> /tmp/buildkitd.toml
|
||||
docker buildx create --name ci --driver docker-container \
|
||||
--buildkitd-config-file /tmp/buildkitd.toml >/dev/null 2>&1 || true
|
||||
docker buildx use ci
|
||||
ARGS=""
|
||||
for t in $TAGS; do ARGS="$ARGS -t $t"; done
|
||||
# 用 dind 内置 default builder:走 dockerd 的 registry mirror(docker-container
|
||||
# 驱动是独立 BuildKit,不继承 daemon.json 的 mirrors)
|
||||
# provenance/sbom 必须关:阿里云 ACR 不识别 OCI empty manifest(attestation)
|
||||
docker buildx build \
|
||||
--builder default \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
--provenance=false --sbom=false \
|
||||
--build-arg NPM_REGISTRY=https://registry.npmmirror.com \
|
||||
--push \
|
||||
-f deploy/Dockerfile \
|
||||
$ARGS \
|
||||
|
||||
Reference in New Issue
Block a user