Run a full Bitcoin node with one command
A Docker configuration with sane defaults for running a full Bitcoin node.
docker run --name bitcoind -v $HOME/.bitcoin:/data/.bitcoin -p 8333:8333 lukechilds/bitcoind
To query bitcoind
, execute bitcoin-cli
from within the container:
docker exec -it bitcoind bitcoin-cli getnetworkinfo
To access JSON-RPC from other services you'll also need to expose port 8332. You probably only want this available to localhost:
docker run --name bitcoind -v $HOME/.bitcoin:/data/.bitcoin \
-p 8333:8333 \
-p 127.0.0.1:8332:8332 \
lukechilds/bitcoind
You could now query JSON-RPC via cURL like so:
curl --data '{"jsonrpc":"1.0","id":"curltext","method":"getnetworkinfo"}' \
http://$(cat $HOME/.bitcoin/.cookie)@127.0.0.1:8332
All CLI arguments are passed directly through to bitcoind.
You can use this to configure via CLI args without a config file:
docker run --name bitcoind -v $HOME/.bitcoin:/data/.bitcoin \
-p 8333:8333 \
-p 127.0.0.1:8332:8332 \
lukechilds/bitcoind -rpcuser=jonsnow -rpcpassword=ikn0wnothin
Or just use the container like a bitcoind binary:
$ docker run lukechilds/bitcoind -version
Bitcoin Core Daemon version v0.18.1
Copyright (C) 2009-2019 The Bitcoin Core developers
Please contribute if you find Bitcoin Core useful. Visit
<https://bitcoincore.org> for further information about the software.
The source code is available from <https://github.com/bitcoin/bitcoin>.
This is experimental software.
Distributed under the MIT software license, see the accompanying file COPYING
or <https://opensource.org/licenses/MIT>
This product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
Eric Young and UPnP software written by Thomas Bernard.
Run a specific version of bitcoind if you want.
docker run --name bitcoind -v $HOME/.bitcoin:/data/.bitcoin -p 8333:8333 lukechilds/bitcoind:v0.18.1
Build this image yourself by checking out this repo, cd
ing into it and running:
docker build -t lukechilds/bitcoind .
You can build a specific version by passing in the VERSION
build arg:
docker build --build-arg VERSION=0.18.1 -t lukechilds/bitcoind:v0.18.1 .
You can build a specific architecture by passing in the ARCH
build arg:
docker build --build-arg ARCH=amd64 -t lukechilds/bitcoind:amd64 .
For a full list of supported build arg options, check out the build script matrix.
MIT © Luke Childs