【问题标题】:Hyperledger Docker endpoint not found未找到 Hyperledger Docker 端点
【发布时间】:2016-09-27 03:40:14
【问题描述】:

我在 Ubuntu 14.04 上使用 Docker 映像设置了一个 2 节点 Hyperledger 网络,方法是按照 @http://hyperledger-fabric.readthedocs.io/en/latest/Setup/Network-setup/#leveraging-published-docker-images 提供的步骤创建 2 个容器

然后我尝试通过调用 POST /chaincode API 来部署一个链码,该链码编译没有错误,并得到响应 200,其中包含为部署的链码返回的哈希值。

但在那之后,我在 docker 日志中立即收到以下错误:

08:44:26.560 [consensus/noops] processTransactions -> DEBU 053 Starting TX batch with timestamp: seconds:1473929066 nanos:560229743
08:44:26.560 [consensus/noops] processTransactions -> DEBU 054 Executing batch of 1 transactions with timestamp seconds:1473929066 nanos:560229743
08:44:26.563 [chaincode] getArgsAndEnv -> DEBU 055 Executable is /opt/gopath/bin/1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84
08:44:26.564 [chaincode] Deploy -> DEBU 056 deploying chaincode 1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84(networkid:dev,peerid:vp0)
08:44:26.564 [container] lockContainer -> DEBU 057 waiting for container(dev-vp0-1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84) lock
08:44:26.564 [container] lockContainer -> DEBU 058 got container (dev-vp0-1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84) lock

**08:44:26.565 [dockercontroller] deployImage -> ERRO 059 Error building images: cannot connect to Docker endpoint**

那么我该如何解决呢?

另一个更新。我做了以下事情:

1) 编辑 /etc/default/docker 添加条目:DOCKER_OPTS="--api-cors-header='*' -H tcp://0.0.0.0:2375 -H unix:///var /run/docker.sock "

2) 重启docker

3) 使用 docker-compose up 命令启动一个节点

尝试部署链代码,现在我得到一个不同的错误:

    vp0_1 | 06:09:33.441 [consensus/noops] handleChannels -> DEBU 048 Process block due to time 
    vp0_1 | 06:09:33.441 [consensus/noops] processTransactions -> DEBU 049 Starting TX batch with timestamp: seconds:1475042973 nanos:441383619 
    vp0_1 | 06:09:33.441 [consensus/noops] processTransactions -> DEBU 04a Executing batch of 1 transactions with timestamp seconds:1475042973 nanos:441383619 
    vp0_1 | 06:09:33.446 [chaincode] getArgsAndEnv -> DEBU 04b Executable is /opt/gopath/bin/1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84 
    vp0_1 | 06:09:33.446 [chaincode] Deploy -> DEBU 04c deploying chaincode 1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84(networkid:dev,peerid:vp0) 
    vp0_1 | 06:09:33.446 [container] lockContainer -> DEBU 04d waiting for container(dev-vp0-1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84) lock 
    vp0_1 | 06:09:33.446 [container] lockContainer -> DEBU 04e got container (dev-vp0-1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84) lock 
    vp0_1 | 06:09:37.608 [peer] ensureConnected -> DEBU 04f Touch service indicates no dropped connections 
    vp0_1 | 06:09:37.608 [peer] ensureConnected -> DEBU 050 Connected to: [] vp0_1 | 06:09:37.608 [peer] ensureConnected -> DEBU 051 Discovery knows about: [] 
    vp0_1 | 06:09:39.533 [dockercontroller] deployImage -> ERRO 052 Error building images: Tag latest not found in repository docker.io/hyperledger/fabric-baseimage 
    vp0_1 | 06:09:39.533 [dockercontroller] deployImage -> ERRO 053 Image Output:

【问题讨论】:

  • 您在创建网络时是否定义了正确的端点?
  • 我正在使用以下

    docker-compose 文件 vp0:图像:hyperledger/fabric-peer 端口:-“7050:7050”环境:-CORE_PEER_ADDRESSAUTODETECT=true -CORE_VM_ENDPOINT=172.17 .0.1:2375 - CORE_PEER_ID=vp0 - CORE_LOGGING_LEVEL=DEBUG 命令:对等节点启动

标签: docker ubuntu-14.04 hyperledger


【解决方案1】:

你检查你的容器环境变量了吗:

CORE_VM_ENDPOINT=unix:///var/run/docker.sock

确保可以从您的容器中访问此文件,因为出于某种原因,这对我来说不是这种情况,我不得不挂载它。

如果你得到deployImage -> ERRO 052 Error building images: Tag latest not found..。这是一个已知问题(例如Error building images: Tag latest not found in repository docker.io/hyperledger/fabric-baseimage)。

我下载了一张可用的图片并重新标记了它

docker pull hyperledger/fabric-baseimage:x86_64-0.1.0
docker tag hyperledger/fabric-baseimage:x86_64-0.1.0 hyperledger/fabric-baseimage:latest

【讨论】:

  • 我曾在 docker-compose 中尝试过 CORE_VM_ENDPOINT=unix:///var/run/docker.sock 但它没有用。这需要在其他文件中指定吗?
  • 我尝试了指定的 CORE_VM_ENDPOINT 并没有得到 ....vp0_1 | 06:02:59.119 [container] lockContainer -> DEBU 05b got container (dev-vp0-1e90b51f9129b97d5312d5c24364085777602a06d40d6e2c9209b4f30d7e66facb26e956443028611539962acc6de550eba03bbb1fd0e7bbd655cb19c5a6ef84) lock vp0_1 | 06:02:59.119 [dockercontroller] deployImage -> ERRO 05c 构建映像时出错:拨打 unix /var/run/docker.sock:连接:没有这样的文件或目录
  • 是的,我遇到了同样的问题,检查 /var/run/docker.sock 是否存在于您的主机中,然后如果可以将其安装在您的容器中 -v /var/run/docker.sock:/var /run/docker.sock
  • 非常感谢马克。拉动 fabric-baseimage 后问题解决。能够部署链代码并查询它!我想知道为什么超级账本官方网站上的文档仍然不完整:(
  • 标签列表可以在这里找到:hub.docker.com/r/hyperledger/fabric-baseimage/tags
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-16
  • 1970-01-01
  • 2012-09-06
相关资源
最近更新 更多