docker-compose - 如何使用 docker-compose 和 Hyperledger Sawtooth 访问暴露的容器?
问题描述
我正在尝试在 Mac 上使用 Docker CE 运行 Hyperledger Sawtooth 的基本版本。docker-compose.yaml 包含运行来自 Sawtooth 的基础镜像的容器。
即使在我运行 docker ps 时为它发布了端口,我也无法从主机访问 Sawtooth REST API。docker-compose 文件已在其他运行 Docker CE 的 Mac 上运行,所以我怀疑它可能是配置或设置问题。
docker-compose.yaml 的内容如下:
version: '2.1'
services:
settings-tp:
image: 'hyperledger/sawtooth-settings-tp:1.1.3'
container_name: sawtooth-settings-tp
depends_on:
- validator
entrypoint: settings-tp --connect tcp://validator:4004
identity-tp:
image: 'hyperledger/sawtooth-identity-tp:1.1.3'
container_name: sawtooth-identity-tp
depends_on:
- validator
entrypoint: identity-tp -vv --connect tcp://validator:4004
rest-api:
image: 'hyperledger/sawtooth-rest-api:1.1.3'
container_name: sawtooth-rest-api
ports:
- '8008:8008'
depends_on:
- validator
entrypoint: sawtooth-rest-api --connect tcp://validator:4004 --bind rest-api:8008
validator:
image: 'hyperledger/sawtooth-validator:1.1.3'
container_name: sawtooth-validator
ports:
- '4004:4004'
command: |
bash -c "
if [ ! -f /etc/sawtooth/keys/validator.priv ]; then
sawadm keygen
sawtooth keygen my_key
sawset genesis -k /root/.sawtooth/keys/my_key.priv
sawset proposal create \
-k /root/.sawtooth/keys/my_key.priv \
sawtooth.consensus.algorithm.name=Devmode \
sawtooth.consensus.algorithm.version=0.1 \
-o config.batch && \
sawadm genesis config-genesis.batch config.batch
fi;
sawtooth-validator -vvv \
--endpoint tcp://validator:8800 \
--bind component:tcp://eth0:4004 \
--bind network:tcp://eth0:8800 \
--bind consensus:tcp://eth0:5050 \
"
devmode-engine:
image: 'hyperledger/sawtooth-devmode-engine-rust:1.1.3'
container_name: sawtooth-devmode-engine-rust-default
depends_on:
- validator
entrypoint: devmode-engine-rust -C tcp://validator:5050
解决方案
如果您无法从主机访问端口,则容器一定没有正确运行。启动时查找该容器的错误消息docker-compose
显示什么docker ps -a
?
你能连接到端口吗?尝试类似的东西telnet localhost 8008
推荐阅读
- nlp - 从句子中提取关系概念
- ocaml - 表达式预期类型单元,但它已经这样做了
- laravel - 如何在 laravel 中创建下拉菜单
- php - WooCommerce - 删除前端随处可见的尺寸
- c++ - 函数调用优先级的重载和模板特化
- python - 如何获得具有相同 ID、具有父评论 ID 的同一类的 ID 评论回复(使用 Selenium 刮板数据)
- uiwebview - 与 SFAuthenticationSession 或 SFSafariViewController 共享 REST API 会话 cookie
- oracle - 即使没有匹配的记录,函数也会返回 1
- verilog - 如何从 TSMC 65nm 标准单元库生成 .db 文件?
- xamarin.forms - 使用数据绑定设置一个简单的组件