我使用javascript锯齿sdk创建了一个事务处理器。当我在本地运行它时,它成功地工作了,并且在本地运行时它会给我这个消息(所谓的本地意味着使用nodeindex.js运行javascript文件(
Connecting to Sawtooth validator at tcp://localhost:4004
Connected to tcp://localhost:4004
Registration of [myTP 1.0] succeeded
然后我将其固定,当我启动容器时,它没有连接。它只有
Connecting to Sawtooth validator at tcp://localhost:4004
消息。当我检查锯齿码头工人的日志时,没有日志
我的docker基础图像是FROM ubuntu:bionic
,我像这样曝光EXPOSE 4004/tcp
。可能是什么问题?我知道它来自验证器,但我不能理解的是,它在本地工作,在docker文件中不工作。
看起来应用程序容器和docker组合容器位于两个不同的网络中。
查找您的网络(可能这将是项目目录的名称(
docker network ls
然后将应用程序容器连接到组成使用的同一网络
docker network connect <network> <app container>
如果你需要在应用程序容器的启动中这样做,
docker run -itd --network=<network name> <app image>
然后,从应用程序中,您可以调用验证器容器名称并连接
tcp://sawtooth-validator-default:4004