在测试从 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
。
背景:为 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
。