Flexible multi-arch (amd & amd64) Bitcoin node Docker image
Go to file
Luke Childs a58608e357 Remove old source modifications
I'm not sure what these modifications are for or why they were there initially but bitcoind seems to now build and run fine without them.

Looks like it's something to do with surpressing boost warnings.
Originated here: 69c024a0da
2019-12-10 11:09:49 +07:00
.github/workflows Change to target schedule, and hope it starts working eventually. See #9 2019-11-28 05:24:08 +07:00
0.16 Automated builds (#13) 2019-11-09 00:47:54 +01:00
0.17 Automated builds (#13) 2019-11-09 00:47:54 +01:00
0.18 Automated builds (#13) 2019-11-09 00:47:54 +01:00
0.19 Remove old source modifications 2019-12-10 11:09:49 +07:00
.gitignore init commit 2019-02-06 19:55:51 +07:00
LICENSE apache to MIT 2019-02-07 14:57:23 +07:00
README.md test whitespace added 2019-08-11 15:58:36 +07:00

docker-bitcoind

This Dockerfile is based on the excellent work from ruimarinho/docker-bitcoin-core.

The changes from upstream include:

  • removal of everything except the very minimal alpine images for the latest bitcoin version
  • separation of berkeleydb stage into a separate image
  • removal of the entrypoint
  • removal of an extra user
  • overall simplifications and following defaults
  • more…

NOTE: ZMQ block and tx ports are set to 28332 and 28333 respectively.

Tags

  • latest, 0.17, 0.17.1 - currently latest version of Bitcoin Core for both arm and amd64
  • 0.17.1-linux-arm - Bitcoin Core version 0.17.1 for arm architecture (built manually on an RBP)
  • 0.17.1-linux-amd64 - Bitcoin Core version 0.17.1 for amd64 architecture (built via CI)

Usage

Pull

First pull the image from Docker Hub:

docker pull lncm/bitcoind:0.17.1 

NOTE: Running above will automatically choose native architecture of your CPU.

Start

Then to start bitcoind, execute:

docker run -it --rm \
    -v ~/.bitcoin:/root/.bitcoin \
    -p 8332:8332 \
    -p 8333:8333 \
    -p 28332:28332 \
    -p 28333:28333 \
    --name bitcoind \
    --detach \
    lncm/bitcoind:0.17.1

That will run bitcoind such that:

  • all data generated by the container is stored in ~/.bitcoin on your host machine,
  • port 8332 will be reachable for the RPC communication,
  • port 8333 will be reachable for the peer-to-peer communication,
  • port 28332 will be reachable for ZMQ block notifications,
  • port 28333 will be reachable for ZMQ transaction notifications,
  • created container will get named bitcoind,
  • that command will run the container in the background and print the ID of the container being run.

Interact

To issue any commands to a running container, do:

docker exec -it bitcoind BINARY COMMAND

Where:

  • BINARY is either bitcoind or bitcoin-cli, and
  • COMMAND is something you'd normally pass to the binary

Examples:

docker exec -it bitcoind bitcoind --help
docker exec -it bitcoind bitcoind --version
docker exec -it bitcoind bitcoin-cli --help
docker exec -it bitcoind bitcoin-cli -getinfo
docker exec -it bitcoind bitcoin-cli getblockcount