背景:为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/