fix(infra): minio 镜像源从 Docker Hub 迁到 quay.io(上游已下架,本地/CI/生产均受影响)
E2E job 日志: pull access denied for minio/minio, repository does not exist 问题不在 tag 本身,而在**整个仓库已从 Docker Hub 移除**:MinIO 自 2025-10 起停止 发布容器镜像(改为仅源码分发),其 GitHub 仓库于 2026-02 归档,Docker Hub 上 minio/minio 与 minio/mc 现均返回 404;quay.io/minio/minio 仍在提供镜像。 本机此前是用 quay.io 的镜像重打 tag 顶替才跑通的(见 known-risks KR-01), 但那只是**本地绕过**、没有同步回仓库,于是「本地能起栈、CI 拉不到」。 现在三处 compose(本地 / staging / prod)统一改为 quay.io, 让本地、CI 与生产拉取同一个镜像。 这不只是 CI 问题:prod 与 staging 同样引用了已下架的仓库,是真实的部署阻塞 —— 也就是说现有配置下,新环境的生产部署根本起不来。 已知偏离:使用 latest 而非钉版。本机无法访问 quay 的 tag API 去核实某个具体 RELEASE tag 是否仍存在(quay 上的镜像已冻结,最后发布为 2025-09)。 e2e job 新增一步打印实际拉取到的版本,日后即可据此钉版、恢复可复现性。 长期风险:quay 上的 MinIO 镜像同样可能下架,届时需自建镜像或迁移到其他 S3 兼容存储 —— 「依赖第三方镜像」本身就是一条外部依赖风险。 上一轮修复已见效:backend / admin-web / ui-contracts / miniapp / test-shell-guard / migration 六个 job 均通过,本轮仅剩 E2E。
This commit is contained in:
@@ -249,6 +249,15 @@ jobs:
|
|||||||
working-directory: infrastructure
|
working-directory: infrastructure
|
||||||
run: docker compose config --quiet
|
run: docker compose config --quiet
|
||||||
|
|
||||||
|
# compose 现在用的是 quay.io/minio/minio:latest(滚动 tag,见该文件注释):
|
||||||
|
# Docker Hub 上的 minio/minio 仓库已被整体移除,而本机访问不到 quay 的 tag API
|
||||||
|
# 去核实某个具体 RELEASE tag 是否仍在。故先用 latest 跑通,并在这里把实际
|
||||||
|
# 拉取到的版本打进日志 —— 日后即可据此把版本钉死,恢复可复现性。
|
||||||
|
- name: 拉取并打印 minio 实际版本(为后续钉版留证据)
|
||||||
|
run: |
|
||||||
|
docker pull quay.io/minio/minio:latest
|
||||||
|
docker run --rm quay.io/minio/minio:latest --version
|
||||||
|
|
||||||
# 保证库为全新:seed 用 `ON CONFLICT (username) DO NOTHING`,若卷是上一轮残留,
|
# 保证库为全新:seed 用 `ON CONFLICT (username) DO NOTHING`,若卷是上一轮残留,
|
||||||
# 账号密码会停留在上一轮的 `E2E_OPERATOR_PASSWORD` 上 → 本轮登录 401(表现为各种业务失败)。
|
# 账号密码会停留在上一轮的 `E2E_OPERATOR_PASSWORD` 上 → 本轮登录 401(表现为各种业务失败)。
|
||||||
- name: 清理可能的残留栈与数据卷
|
- name: 清理可能的残留栈与数据卷
|
||||||
|
|||||||
@@ -40,7 +40,10 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
image: minio/minio:latest
|
# 同 docker-compose.yml 的 minio 条目:Docker Hub 上 minio/minio 仓库已被整体移除
|
||||||
|
# (MinIO 自 2025-10 起停止发布容器镜像,仅源码分发),生产环境同样拉不到。
|
||||||
|
# 改为仍在提供镜像的 quay.io —— 这是真实的部署阻塞,不只是 CI 问题。
|
||||||
|
image: quay.io/minio/minio:latest
|
||||||
container_name: danyang-match-minio
|
container_name: danyang-match-minio
|
||||||
command: server /data --console-address ":9001"
|
command: server /data --console-address ":9001"
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -32,7 +32,10 @@ services:
|
|||||||
retries: 5
|
retries: 5
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
image: minio/minio:latest
|
# 同 docker-compose.yml 的 minio 条目:Docker Hub 上 minio/minio 仓库已被整体移除
|
||||||
|
# (MinIO 自 2025-10 起停止发布容器镜像,仅源码分发),staging 环境同样拉不到。
|
||||||
|
# 改为仍在提供镜像的 quay.io。
|
||||||
|
image: quay.io/minio/minio:latest
|
||||||
command: server /data --console-address ":9001"
|
command: server /data --console-address ":9001"
|
||||||
environment:
|
environment:
|
||||||
MINIO_ROOT_USER: staging
|
MINIO_ROOT_USER: staging
|
||||||
|
|||||||
@@ -33,9 +33,25 @@ services:
|
|||||||
retries: 5
|
retries: 5
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
# pin 到确定版本:`latest` 是滚动 tag,MinIO 已多次改动镜像内容(如移除内嵌 console),
|
# 2026-09-22 修正:镜像源从 Docker Hub 迁到 quay.io。
|
||||||
# 用 `latest` 会让 CI 的 E2E 拉到一个与本地验证时不同的镜像 → 不可复现的偶发失败。
|
#
|
||||||
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
|
# 原 `minio/minio:RELEASE.2025-09-07T16-13-09Z` 在 CI 上根本拉不到,Actions 报:
|
||||||
|
# pull access denied for minio/minio, repository does not exist
|
||||||
|
# 问题不在 tag,而在**整个仓库已从 Docker Hub 移除**:MinIO 自 2025-10 起停止发布
|
||||||
|
# 容器镜像(改为仅源码分发),其 GitHub 仓库于 2026-02 归档;Docker Hub 上
|
||||||
|
# minio/minio 与 minio/mc 现均返回 404。quay.io/minio/minio 仍在提供镜像。
|
||||||
|
#
|
||||||
|
# 本机此前正是用 quay.io 的镜像重打 tag 顶替才跑通的(见 known-risks KR-01),
|
||||||
|
# 但那只是**本地绕过**、没有同步回仓库,于是「本地能起栈、CI 拉不到」。
|
||||||
|
# 现在统一改为 quay.io,让本地与 CI 拉同一个镜像,消除这处不一致。
|
||||||
|
#
|
||||||
|
# 已知偏离:此处用 latest 而非钉版。原因是本机访问不到 quay.io 的 tag API,
|
||||||
|
# 无法核实某个具体 RELEASE tag 是否仍然存在(quay 上的镜像已冻结,
|
||||||
|
# 最后发布为 2025-09)。latest 已被多个下游项目实测可用;e2e job 会打印
|
||||||
|
# 实际拉取到的版本,供日后补钉版。
|
||||||
|
# 长期风险:quay 上的 MinIO 镜像同样可能下架,届时需自建镜像或迁移到其他
|
||||||
|
# S3 兼容存储 —— 这也意味着「依赖第三方镜像」本身就是一条外部依赖风险。
|
||||||
|
image: quay.io/minio/minio:latest
|
||||||
container_name: danyang-match-minio
|
container_name: danyang-match-minio
|
||||||
command: server /data --console-address ":9001"
|
command: server /data --console-address ":9001"
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
Reference in New Issue
Block a user