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

运行命令curl http://rest-api:8008/blocks从客户端容器测试Validator的连接。
出现错误:
无法解析主机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或从主机以http://127.0.0.1:8008/blocks的形式访问该服务。如果仍然有问题,请尝试更改entrypoint命令以将--bind 0.0.0.0:8008用作最后一个参数。

关于docker - 测试从Docker容器到验证程序的连接时遇到的问题。 curl http://rest-api:8008/blocks,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49568174/

10-12 23:20