错误:找不到hyperledger/fabric-orderer:latest的清单。

14
我正在尝试使用以下命令启动网络。
./network_setup.sh up  channel

运行该命令后,我收到了这个错误

ERROR: manifest for hyperledger/fabric-orderer:latest not found

我该如何消除这个错误?请帮帮我。

8个回答

21

这个错误信息显示公共Docker Hub上大多数'fabric-*'镜像中目前没有现有的“latest”标签。我们必须在docker命令或docker-compose文件中指定我们要拉取的镜像版本。

您可以在此处找到所有可用的'fabric-orderer'标签。

例如:

  1. 使用docker命令

# 使用之前将其拉到本地
docker pull hyperledger/fabric-orderer:x86_64-1.0.0-rc1
# 将其重命名为“latest”
docker tag hyperledger/fabric-orderer:x86_64-1.0.0-rc1 hyperledger/fabric-orderer:latest

  1. 推荐:在docker-compose文件中指定标记

请尝试查找network_setup.sh中使用的docker-compose文件。

如果您正在使用1.0beta,则应该是docker-compose-cli.yaml

如果您在docker-compose-cli.yaml中看到:

extends:
file:base/docker-compose-base.yaml

然后,在base/docker-compose-base.yaml中如果您看到:

...
image: hyperledger/fabric-orderer
...

将其更改为:

image: hyperledger/fabric-orderer:x86_64-1.0.0-rc1

此修复程序还应用于base/docker-compose-base.yaml中的fabric-peer、fabric-ca设置以进行对齐。

编辑问题已不再存在。现在,fabric团队将提供默认的“latest”标记。


1
附注:要找出要使用哪个标签,请查看文档的此部分:http://hyperledger-fabric.readthedocs.io/en/latest/samples.html#download-platform-specific-binaries下载并查看shell脚本,看看它们如何下载二进制文件。 - 3cheesewheel
运行得很好,现在使用fabric-can仍然出现相同的错误。 - Adarsha Jha
无法找到此文件。尝试使用命令 locate docker-compose-base.yaml,但没有找到任何内容。 - Deepak Bhavsar
@DeepakBhavsar,fabric-sample代码库在多年间发生了很多变化。我的回答可能不够及时更新。请随意在GitHub上创建一个问题,并ping我(github:davidkhala)以继续讨论。 - 刘宇翔

6
这对我很有用: 在yaml文件中替换以下行:
image: hyperledger/fabric-orderer

带有行号:

image: hyperledger/fabric-orderer:x86_64-1.0.0

您可以根据Docker Hub上的可用性选择其他版本(https://hub.docker.com/r/hyperledger/fabric-orderer/tags/)。请注意保留HTML标记。

1
我在哪里可以找到那个YAML文件? - Deepak Bhavsar

5

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s -- 2.4.0 1.5.2 - Kinjal Dixit

5

在运行./network_setup.sh之前,你不能仅仅只运行它。必须先生成或拉取docker镜像。

sudo rm -Rf $GOPATH/src/github.com/hyperledger 
mkdir -pv $GOPATH/src/github.com/hyperledger 
cd $GOPATH/src/github.com/hyperledger 
git clone http://gerrit.hyperledger.org/r/fabric 
git clone https://github.com/hyperledger/fabric-ca

cd $GOPATH/src/github.com/hyperledger/fabric 
git branch --all 
git fetch
make clean
make dist-clean
make configtxgen
make docker
make peer-docker
make orderer-docker
make couchdb

cd $GOPATH/src/github.com/hyperledger/fabric-ca
git branch --all
git fetch 
make clean
make dist-clean
make docker 

要自己生成图片,请参考: https://github.com/hyperledger/fabric/blob/master/examples/e2e_cli/end-to-end.rst 要拉取已有的Docker镜像,请参考: https://github.com/hyperledger/fabric/tree/master/examples/dchackfest/samples/e2e

2
您的最后一个链接出现了404错误。 - Kyll

2
文档中有一个容易被忽视的脚本: http://hyperledger-fabric.readthedocs.io/en/v1.1.0-alpha/samples.html 该脚本可以从GitHub下载Hyperledger Fabric的Docker镜像到你的本地Docker环境,并将它们标记为“latest”,非常快速,比手动更名所有文件做得更好。
此外,如果您实际上从Github拉取Fabric存储库并执行make docker,它会创建:latest映像。

1

在当前的2.4文档中,这在 安装Fabric示例,高级下载选项 中获取最新版本。 - Mohammad Kanan

1

我不小心从Docker中删除了所有Hyper Ledger Fabric镜像,因此出现了这个错误。我通过重新调用cmd解决了这个问题。

输入图像描述


0

我遇到了同样的问题,我的解决方法是去控制台并使用以下命令列出我电脑上所有的Docker镜像:

docker images --all

我得到了这样一个列表:

REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
dev-peer0.org1.example.com-fabcar-1.0   latest              2b951138a408        10 hours ago        173MB
<none>                                  <none>              0dc88d79f8bf        10 hours ago        173MB
<none>                                  <none>              94c8e5b3db58        10 hours ago        173MB
hyperledger/fabric-ca                   x86_64-1.1.0        72617b4fa9b4        6 weeks ago         299MB
hyperledger/fabric-tools                latest              b7bfddf508bc        6 weeks ago         1.46GB
hyperledger/fabric-tools                x86_64-1.1.0        b7bfddf508bc        6 weeks ago         1.46GB

所以,考虑到我下载的版本是1.1.0,我去找了docker-compose.yml文件,并查找了所有以image:开头的行,并在末尾添加了与图像相同的标签。例如:

image:hyperledger/fabric-ca

已更新为

image: hyperledger/fabric-ca:x86_64-1.0.0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接