Unable to bind any endpoint for RPC server
Here's how you fix the rpcbind issue with the latest change in version 0.18.0.

Before 0.18,  if you put rpcallowip=0.0.0.0/0, the value of rpcbind didn't need to be set as it defaulted to all interfaces.  

Now that is no longer the case.  Here's my setup, for running bitcoind in a container through Docker compose:

rpcallowip=0.0.0.0/0
rpcbind=127.0.0.1
# local DNS name (container name used in my Docker Compose file)
rpcbind=bitcoind


The first rpcbind is so I can make RPC calls from inside the container.  The second is so other containers can reach the bitcoind container.

I think this does what you want:


I can RPC from inside the bitcoind container
I can RPC from another container on the same network (as specified in the compose file) to the bitcoind container
I can RPC from my localhost outside the container.


For the last, I exposed port 8332 to my localhost in the compose file and I can curl to the container:



$ curl --user user --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getbestblockhash", "params": [] }'  -H 'content-type: text/plain;' 127.0.0.1:8332/
Enter host password for user 'user':
{"result":"0000000000000000000ece9381a7e0a4020353f4adde7b560a6b2840d5d44cfa","error":null,"id":"curltest"}


The full details of my container setup are here, in case there's something I missed in writing up my answer.