在测试从 docker 容器到验证器的连接时遇到问题。卷曲 http://rest-api:8008/blocks

Facing issues while testing connectivity from docker container to validator. curl http://rest-api:8008/blocks

背景:为 Hyperledger-Sawtooth 设置环境。

运行 命令 curl http://rest-api:8008/blocks 测试 Validator 与 Client Container 的连通性。 得到错误: 无法解析主机 rest-api

如果您使用来自 Sawtooth master 分支的 sawtooth-local-installed.yaml,那么 REST API 服务会暴露在 rest-api 容器的 8008 端口上,并转发到 8008 端口在主机上:

rest-api:
  image: sawtooth-rest-api:latest
  container_name: sawtooth-rest-api-default
  expose:
    - 8008
  ports:
    - "8008:8008"
  depends_on:
    - validator
  entrypoint: sawtooth-rest-api --connect tcp://validator:4004 --bind rest-api:8008

因此,应该可以通过 Web 浏览器或 curl 从另一个 Docker 容器作为 http://rest-api:8008/blocks or from the host as http://127.0.0.1:8008/blocks 访问该服务。如果您仍有问题,请尝试将 entrypoint 命令更改为使用 --bind 0.0.0.0:8008 作为最后一个参数。

只需使用此命令,它就会起作用

 curl http://rest-api-0:8008/blocks

这是因为在 docker 文件中提到了 rest-api-0