构建: --local 改用 docker build 绕开 docker-container 驱动
multiarch builder 嵌套创建构建容器在受限环境报 "can't mask dir /proc/acpi";本地单架构无需 buildx,直接 docker build 更稳。 多架构 --push 路径保持不变(仍须 docker-container builder) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+21
-18
@@ -5,7 +5,9 @@ DOCKER_USER="${DOCKER_USER:-openteam}"
|
||||
VERSION="${VERSION:-$(git describe --tags --always 2>/dev/null || echo latest)}"
|
||||
PLATFORMS="linux/amd64,linux/arm64"
|
||||
|
||||
# --local:本地构建不推送(单架构,加载到本地 docker,tag 不带仓库前缀)
|
||||
# --local:本地构建不推送(默认 docker driver,单架构,tag 不带仓库前缀)。
|
||||
# 不用 buildx docker-container builder——嵌套创建容器在受限环境会报
|
||||
# "can't mask dir /proc/acpi",普通 docker build 无此问题。
|
||||
if [[ "${1:-}" == "--local" ]]; then
|
||||
LOCAL=1
|
||||
else
|
||||
@@ -24,6 +26,24 @@ native_arch() {
|
||||
esac
|
||||
}
|
||||
|
||||
# ---------- 本地模式:单架构,加载到本地 docker ----------
|
||||
if [[ $LOCAL -eq 1 ]]; then
|
||||
PLATFORM="$(native_arch)"
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo "🚀 本地构建 openteam (${PLATFORM})"
|
||||
echo " tag: openteam:${VERSION}"
|
||||
echo "========================================"
|
||||
docker build \
|
||||
-t "openteam:${VERSION}" \
|
||||
-t "openteam:latest" \
|
||||
.
|
||||
echo ""
|
||||
echo "✅ 完成!openteam:${VERSION}(已加载到本地 docker)"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# ---------- 多架构推送模式:需要 buildx docker-container builder ----------
|
||||
if ! docker buildx version &>/dev/null; then
|
||||
echo "❌ docker buildx 不可用"
|
||||
exit 1
|
||||
@@ -37,22 +57,6 @@ else
|
||||
fi
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
if [[ $LOCAL -eq 1 ]]; then
|
||||
PLATFORM="$(native_arch)"
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo "🚀 本地构建 openteam (${PLATFORM})"
|
||||
echo " tag: openteam:${VERSION}"
|
||||
echo "========================================"
|
||||
docker buildx build \
|
||||
--platform "${PLATFORM}" \
|
||||
-t "openteam:${VERSION}" \
|
||||
-t "openteam:latest" \
|
||||
--load \
|
||||
.
|
||||
echo ""
|
||||
echo "✅ 完成!openteam:${VERSION}(已加载到本地 docker)"
|
||||
else
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo "🚀 构建 openteam (${PLATFORMS})"
|
||||
@@ -66,4 +70,3 @@ else
|
||||
.
|
||||
echo ""
|
||||
echo "✅ 完成!${DOCKER_USER}/openteam:${VERSION}"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user