我使用javascript sawtooth-sdk创建了交易处理器。当我在本地运行时,它可以成功运行,并且在本地运行时会显示此消息(在本地,这意味着使用节点index.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-compose容器位于2个不同的网络中。
查找您的网络(可能是项目目录的名称)
docker network ls
然后将应用程序容器连接到撰写所使用的同一网络
docker network connect <network> <app container>
如果您需要在应用程序容器的启动中执行此操作,
docker run -itd --network=<network name> <app image>
然后,在应用程序中,您可以调用验证器容器名称并进行连接,
tcp://sawtooth-validator-default:4004