You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Damian Mee 3ca492a922
don't specify from arch
5 years ago
.github/workflows don't specify from arch 5 years ago
.travis split chroot 6 years ago
0.17 test 6 years ago
0.18 alpine: 3.10 -> 3.9 5 years ago
.gitignore init commit 6 years ago
.travis.yml test 6 years ago
LICENSE apache to MIT 6 years ago
README.md test whitespace added 5 years ago
prepare.sh simpler? 5 years ago

README.md

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