вызов bitcoind rpc api через докер

Я начал свой контейнер узла с этими флагами:

daemon=1
printtoconsole=1
testnet=1
rpcport=9332
rpcallowip=0.0.0.0/0
rpcuser=user
rpcpassword=password
rpcbind=0.0.0.0
server=1

Я открыл порт в моем docker-compose :

node:
    image: bitcoin-sv
    container_name: 'node'
    restart: always
    ports:
      - '9332:9332'

Я могу вызывать методы из bitcoin-cli в своем контейнере

docker exec -it node bash
root@9196d074e4d8:/opt/bitcoin-sv# ./bitcoin-cli getinfo

Но я не могу вызвать его из завитка

curl --user user --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo, "params": ["", 0.1, "donation", "seans outpost"] }' -H 'content-type: text/plain;' http://127.0.0.1:9332
Enter host password for user 'user':
curl: (52) Empty reply from server

Как я могу вызвать это из завитка? Может быть, я должен позвонить в кли?


person trololo    schedule 17.12.2020    source источник


Ответы (1)


не уверен, в чем может быть ваша проблема, но первым подходом будет выполнение завитка внутри контейнера, чтобы убедиться, что интерфейс HTTP работает правильно. Итак, вы должны попробовать это:

docker exec -it node bash
root@9196d074e4d8:/opt/bitcoin-sv# curl --user user --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo, "params": ["", 0.1, "donation", "seans outpost"] }' -H 'content-type: text/plain;' localhost:9332

Как только вы убедитесь, что интерфейс работает внутри контейнера, вы можете переместиться вперед и попробовать его с хоста.

person jkmrto    schedule 17.12.2020