Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

CLI attempts to pull "local" Docker images (and fails)

未关闭
#119 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

  • #144 来自 @awrichar —— 已关闭,未合并

评估

难度
4/5
预计耗时
3-5 天
新手友好度
42/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
docker, go
领域
cli, devops

调研方向

从 internal/stacks/stack_manager.go 中的 PullStack 开始,使用包含本地 Docker 定义的 manifest.json 通过 ff start 重现该问题。跟踪 manifest 镜像以及 blockchain/token 插件镜像,以确定实际使用了哪些 Dockers。完成标准是 ff start 只拉取已使用的镜像,同时保留 manifest 版本,并跳过标记为 local 的镜像。

由索引模型根据 Issue 内容生成。

描述

If you point the CLI to a local manifest with -m manifest.json, and that manifest contains a local Docker definitions such as:

  "tokens-erc1155": {
    "image": "ghcr.io/hyperledger/firefly-tokens-erc1155",
    "local": true
  }

When running ff start, the CLI still pulls the latest image from the server, overwriting the local image.

This seems to be due to a duplication in the PullStack method here. It first iterates the images defined in the manifest, and does properly skip those tagged as local. But then it goes on to pull the latest for all images defined by the blockchain and token plugins, defeating the purpose of the earlier loop.

Side node: because it first pulls all the images defined in the manifest, it will pull images even if you're ultimately not using them (ie it pulls fabconnect even if your blockchain provider is Ethereum).

Conclusion from all this: we need better "pull" logic to intersect the info from these two places - it should only pull the Dockers actually used in the stack, but it should also honor the versions and "local" flag defined for those images in the manifest.

主要语言
Go
星标
66
派生
64
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

hyperledger-firefly/cli 的其他 Issue

查看 hyperledger-firefly/cli 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。