验证 CITA 是否运行正常,执行命令后不能看到7个服务的信息


[root@AlphaV20 cita_secp256k1_sha3_node0]# ll
total 24
drwxr-xr-x 2 root root 4096 Dec 26 2019 bin
drwxr-xr-x 2 root root 4096 Dec 26 2019 bin_bak
-rw-r–r-- 1 root root 388 Aug 8 10:29 localtime
drwxr-xr-x 2 root root 4096 Dec 26 2019 resource
drwxr-xr-x 5 root root 4096 Dec 26 2019 scripts
drwxr-xr-x 3 root root 4096 Dec 30 2019 test-chain
[root@AlphaV20 cita_secp256k1_sha3_node0]# bin/cita bebop top test-chain/0
Node ‘test-chain/0’ not responding to pings
[root@AlphaV20 cita_secp256k1_sha3_node0]#

@rain麻烦指导一下。

@UDLD @liyan 看看

@gaopei 命令的执行是在 docker 里面吗?
如果在 docker 里面执行,需要加 bebop
如果不是在 docker 里面执行,不需要加 bebop
bin/cita top test-chain/0


在docker外,提示找不到目录,在docker里可以看到七个服务。@liyan

你是自己起的docker容器吗?或者你改了cita_run容器的名字?
这种情况下top等命令就用不了了,因为不知道容器名。

正常情况下env脚本会启动cita_run容器,并且设置一个算出来的容器名(取当前路径,然后算哈希)。
其他命令也都按同样的算法,就可以知道容器名了。

https://github.com/citahub/cita/blob/develop/env.sh#L12

docker 外执行,不需要加 bebop ,
docker 里面执行,加 bebop。
从上图看,问题已解决了

先不研究为啥 docker 外不行了,至少进入 docker 可以查看服务状态了。

bin/cita top 这个命令的实现就是docker exec 然后调用 ps 命令
跟你手工操作做的是一样的事情。

问题的原因就是你们把容器名给改了,或者不是按照文档上的方式启动的容器。
这样top命令还是按约定好的方式去计算容器名,docker exec就失败了