From c987001740f2e6508156d29c7d1d39700098c0e5 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 12 Apr 2026 19:57:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E6=BA=90=EF=BC=8C=E6=8F=90=E5=8D=87=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/Dockerfile | 6 +++--- docker-compose.yml | 5 +++-- frontend/Dockerfile | 6 ++++-- readme.md | 10 ++++------ 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index 47d4008..08aa47a 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,11 +1,11 @@ -# 国内 Docker Hub 代理(DaoCloud);EOF/超时请换 docker.1ms.run/library 或配置 daemon registry-mirrors -FROM docker.m.daocloud.io/library/python:3.12-slim +# 基础镜像来自 Docker Hub;请在本机配置阿里云镜像加速器后再构建(见仓库 docker-compose.yml 注释) +FROM python:3.12-slim WORKDIR /app ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 -ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple +ENV PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/ COPY requirements.txt /app/requirements.txt RUN pip install --no-cache-dir -r /app/requirements.txt diff --git a/docker-compose.yml b/docker-compose.yml index 7ed3446..f68f803 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,8 @@ -# 基础镜像走国内 Docker Hub 代理(DaoCloud,稳定性较好;若失败可改为 docker.1ms.run/library) +# Docker Hub 官方镜像:请在本机 Docker 中配置「阿里云镜像加速器」后再构建/拉取 +# (控制台:容器镜像服务 ACR → 镜像工具 → 镜像加速器,将地址写入 Docker Engine 的 registry-mirrors) services: db: - image: docker.m.daocloud.io/library/postgres:16-alpine + image: postgres:16-alpine container_name: exam-helper-db restart: unless-stopped environment: diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 74ac863..9aa3d14 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,15 +1,17 @@ -FROM docker.m.daocloud.io/library/node:22-alpine AS builder +# 基础镜像来自 Docker Hub;请在本机配置阿里云镜像加速器后再构建(见仓库 docker-compose.yml 注释) +FROM node:22-alpine AS builder WORKDIR /app RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories COPY package.json /app/package.json +# 阿里云镜像站指定的 npm 同步源(原淘宝镜像域名已迁移至 npmmirror) RUN npm config set registry https://registry.npmmirror.com && npm install COPY . /app RUN npm run build -FROM docker.m.daocloud.io/library/nginx:1.27-alpine +FROM nginx:1.27-alpine RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=builder /app/dist /usr/share/nginx/html diff --git a/readme.md b/readme.md index 5b39e2f..15508b4 100644 --- a/readme.md +++ b/readme.md @@ -22,22 +22,20 @@ ## 国内镜像加速(部署) -- **容器基础镜像**:默认使用 `docker.m.daocloud.io/library/...`(DaoCloud Docker Hub 代理)。若你所在网络下该源慢或失败,可将三处前缀统一改为 `docker.1ms.run/library` 或 `dockerproxy.cn/library`(后者偶发 EOF 时可换源)。 -- **Python / npm / apk**:构建时已分别使用清华 PyPI、npmmirror、阿里云 Alpine 源(见各 `Dockerfile`)。 -- **本机 Docker 守护进程(可选)**:仍从 Docker Hub 拉取其它镜像时,可在 Docker Desktop → Settings → Docker Engine 中配置 `registry-mirrors`,例如: +- **容器基础镜像(Docker Hub)**:`docker-compose.yml` 与各 `Dockerfile` 使用官方镜像名(如 `python:3.12-slim`)。在国内拉取前,请在 **阿里云控制台 → 容器镜像服务 ACR → 镜像工具 → 镜像加速器** 获取你的加速器地址,并在 Docker Desktop → Settings → Docker Engine 中配置 `registry-mirrors`,例如: ```json { "registry-mirrors": [ - "https://docker.m.daocloud.io", - "https://docker.1ms.run", - "https://dockerproxy.cn" + "https://<你的加速器ID>.mirror.aliyuncs.com" ] } ``` 保存并重启 Docker 后生效。 +- **Python / npm / apk**:构建时已分别使用 **阿里云 PyPI**(`mirrors.aliyun.com/pypi`)、**npmmirror**(阿里云镜像站指定的 npm 同步源)、**阿里云 Alpine** 源(见各 `Dockerfile`)。 + ## 一键启动 确保本机已安装 Docker Desktop,然后在项目根目录执行: