Docker images for Bitcoin Core (bitcoind), built from the official release source and verified against the release's signed checksums.
A fork of lncm/docker-bitcoind, originally published as lnliz/docker-bitcoind.
- Multi-arch:
linux/amd64,linux/arm64,linux/arm/v7—docker pullpicks your CPU's architecture automatically - Runs
bitcoindas an unprivileged user (UID 1000) with a HEALTHCHECK - Also ships
bitcoin-cli,bitcoin-tx,bitcoin-util, andbitcoin-wallet
docker run -d --name bitcoind \
-v ~/.bitcoin:/data/.bitcoin \
-p 8332:8332 -p 8333:8333 -p 28332:28332 -p 28333:28333 \
kohanucha/bitcoin-core-docker:v31.18332— JSON-RPC (see Security)8333— P2P28332/28333— ZMQ blocks / transactions
Talk to the node:
docker exec bitcoind bitcoin-cli -getinfoLatest tags on Docker Hub: core-latest, v31.1.
RPC binds to localhost inside the container by default, so publishing 8332 alone does not expose it. To reach RPC from outside you must pass -rpcbind and -rpcallowip — and should always add -rpcauth:
docker run -d --name bitcoind \
-v ~/.bitcoin:/data/.bitcoin \
-p 8332:8332 \
kohanucha/bitcoin-core-docker:v31.1 \
-rpcbind=0.0.0.0 -rpcallowip=10.0.0.0/8 -rpcauth=user:salt$hash-rpcbindis ignored unless-rpcallowipis also set- Use
-rpcauth(generate withshare/rpcauth/rpcauth.pyin the Bitcoin Core source); never-rpcpasswordalone - Never expose RPC to the internet. P2P and ZMQ are safe to expose; RPC is not
- Base images and every Alpine package are pinned by digest/version
- Release source is verified against the signed
SHA256SUMS(≥3 good signatures, 0 bad) before building - Guix builder keys are vendored in-repo; refresh with
./update-builder-keys.sh - Built on tag push only, scanned with Trivy (fails on CRITICAL/HIGH), and pushed as a single multi-arch image carrying BuildKit provenance (mode=max) and SBOM attestations
See CHANGELOG.md for the full list of what's different from upstream.
This project is provided as-is, without warranty of any kind. You use it at your own risk and are responsible for protecting your wallet keys, RPC access, and any funds held by the node. This project is not affiliated with or endorsed by the Bitcoin Core project or its maintainers.
If bitcoind won't start because the data directory is owned by another user:
sudo chown -R 1000.1000 ~/.bitcoinOriginally based on lncm/docker-bitcoind.