Spaces:
Running
Running
Update Dockerfile
Browse files- Dockerfile +0 -42
Dockerfile
CHANGED
|
@@ -1,43 +1 @@
|
|
| 1 |
-
FROM docker:24-dind AS builder
|
| 2 |
-
|
| 3 |
-
# 方案1:优先使用环境变量,如果未设置则尝试构建参数(兼容性更好)
|
| 4 |
-
ENV DOCKERHUB_USERNAME=${DOCKERHUB_USERNAME:-}
|
| 5 |
-
ENV DOCKERHUB_TOKEN=${DOCKERHUB_TOKEN:-}
|
| 6 |
-
|
| 7 |
-
# 或者方案2:直接使用环境变量(Hugging Face Secrets 的默认方式)
|
| 8 |
-
# ARG DOCKERHUB_USERNAME
|
| 9 |
-
# ARG DOCKERHUB_TOKEN
|
| 10 |
-
# 改为:
|
| 11 |
-
# ENV DOCKERHUB_USERNAME=$DOCKERHUB_USERNAME
|
| 12 |
-
# ENV DOCKERHUB_TOKEN=$DOCKERHUB_TOKEN
|
| 13 |
-
|
| 14 |
-
RUN echo "调试:用户名变量长度为 ${#DOCKERHUB_USERNAME}"
|
| 15 |
-
RUN echo "调试:令牌变量长度为 ${#DOCKERHUB_TOKEN}"
|
| 16 |
-
|
| 17 |
-
# 等待守护进程启动
|
| 18 |
-
RUN echo "等待 Docker 守护进程就绪..." && \
|
| 19 |
-
timeout=30 && \
|
| 20 |
-
while ! docker info > /dev/null 2>&1 && [ $timeout -gt 0 ]; do \
|
| 21 |
-
sleep 1; \
|
| 22 |
-
timeout=$((timeout-1)); \
|
| 23 |
-
done
|
| 24 |
-
|
| 25 |
-
# 执行登录
|
| 26 |
-
RUN if [ -n "$DOCKERHUB_USERNAME" ] && [ -n "$DOCKERHUB_TOKEN" ]; then \
|
| 27 |
-
echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin && \
|
| 28 |
-
echo "✅ Docker Hub 登录成功"; \
|
| 29 |
-
else \
|
| 30 |
-
echo "⚠️ DOCKERHUB_USERNAME 或 DOCKERHUB_TOKEN 为空,尝试匿名拉取"; \
|
| 31 |
-
fi
|
| 32 |
-
|
| 33 |
-
# 拉取目标镜像
|
| 34 |
-
RUN docker pull svjack/code-kg-chat-nextjs-pr:latest && \
|
| 35 |
-
echo "✅ 目标镜像拉取成功" && \
|
| 36 |
-
docker save svjack/code-kg-chat-nextjs-pr:latest -o /base-image.tar
|
| 37 |
-
|
| 38 |
-
# 最终应用阶段
|
| 39 |
FROM svjack/code-kg-chat-nextjs-pr:latest
|
| 40 |
-
COPY --from=builder /base-image.tar /tmp/
|
| 41 |
-
# ... 您的后续构建步骤
|
| 42 |
-
WORKDIR /app
|
| 43 |
-
COPY . .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
FROM svjack/code-kg-chat-nextjs-pr:latest
|
|
|
|
|
|
|
|
|
|
|
|