我正在使用ubuntu映像在端口26657上运行一个Tendermint服务器。
docker run -itd --name t1 -p 26657:26657 tendermint
当我在容器中执行一个curl操作时,我从RPC服务器获得JSON响应。
docker exec -it t1 curl localhost:26657/status
但是当它试图在主机上使用curl操作时,我会得到一个错误:"curl:(52)来自服务器的空回复“。
curl localhost:26657/status
最初,我在Windows机器上运行docker。我想windows可能会出现一些问题,因为Windows无法与WSL (在Windows中用于ubuntu)进行对话。因此,我在运行Ubuntu20.04的Linux虚拟盒中尝试了相同的命令。但是,主机ubuntu无法使用curl/web浏览器访问容器服务器。
我尝试在容器中的端口80运行一个apache2服务器,并映射到端口5000 (-p 5000:80)。这起作用了,我能够在本地主机上访问apache2 :5000在主机上。当我试图在RPC服务器上映射26657到5000 (-p 5000:26657)时,也会出现同样的问题。因此,问题仅限于集装箱中80端口以外的港口。
我在主机上尝试了"netstat -an“,它说:”TCP0.0.0:26657 0.0.0:0侦听“。
尝试运行一个简单的角11 HTTP服务器,运行在4200,并映射到主机4200。它也无法绘制这个港口的地图。
还试图在主机上将telnet接入端口26657,并能够使用"telnet localhost 26657“成功连接。当容器被终止时,telnet就无法连接到理想的位置。但是仍然无法使用curl/web连接主机并从容器获取JSON响应。
我只是尝试在Amazon EC2实例上运行tendermint服务器。我无法使用公共IP访问端口26657。我想这和26657端口的协议有关吧。
发布于 2021-05-17 13:17:12
我在"localhost“上运行Tendermint服务器,它不能从外部访问。我应该在0.0.0.0上启动服务器
发布于 2021-05-16 12:11:04
尝试运行此停靠程序运行-itd --名称为t1 -p 26657:26657
卷曲本地主机:26657/状态
{
"jsonrpc": "2.0",
"id": -1,
"result": {
"node_info": {
"protocol_version": {
"p2p": "8",
"block": "11",
"app": "1"
},
"id": "e0d34bb67c18d9025f6944de285f24e904de8c23",
"listen_addr": "tcp://0.0.0.0:26656",
"network": "dockerchain",
"version": "",
"channels": "40202111433038606100",
"moniker": "dockernode",
"other": {
"tx_index": "on",
"rpc_address": "tcp://0.0.0.0:26657"
}
},
"sync_info": {
"latest_block_hash": "5E59DCD523F574AA5B3961A9523B660716FDF9A3D90C72294285106E99614F18",
"latest_app_hash": "0000000000000000",
"latest_block_height": "170",
"latest_block_time": "2021-05-16T12:08:26.1797685Z",
"earliest_block_hash": "746D1580F6B7012D042230791CCED002AC327422D144BEE7BC2B203E1ECD6F39",
"earliest_app_hash": "",
"earliest_block_height": "1",
"earliest_block_time": "2021-05-16T12:06:43.2085282Z",
"catching_up": false
},
"validator_info": {
"address": "ACC91433A4B84C4A53547A58418001CD55677F28",
"pub_key": {
"type": "tendermint/PubKeyEd12519",
"value": "+hGKJ2w6dRevN0t2OEf/1uHoInggirrSHCDzyhwJuOo="
},
"voting_power": "10"
}
}
}
它使用wsl2 +ubuntu20.04在我的windows 10机器上工作。
https://stackoverflow.com/questions/67556056
复制相似问题