Skip to content

Docker images

Docker images for the Nimbus beacon node and the Nimbus validator client are available at docker hub.

We have version-specific Docker tags (e.g. statusim/nimbus-eth2:amd64-v1.2.3) and a tag for the latest image (e.g. statusim/nimbus-eth2:amd64-latest).

These images contain the same binaries as the release tarballs inside a debian:bullseye-slim image, running under a user imaginatively named user, with UID:GID of 1000:1000.

The binaries are placed under the /home/user/ directory which is also the default WORKDIR. The ENTRYPOINT of the image is configured to directly launch the respective binary without any extra arguments.

Usage

Before running Nimbus via docker, you need to prepare a data directory and mount it in docker.

It is recommended that you mount the directory at /home/user/data and pass --data-dir=data/beacon_node/mainnet_0 to all nimbus_beacon_node commands.

mkdir data
docker run -it --rm \
  -v ${PWD}/data:/home/user/data \
  statusim/nimbus-eth2:amd64-latest \
  --data-dir=data/beacon_node/mainnet_0
  --network=mainnet \
  [other options]

Similarly, to launch a Nimbus validator client you can use the following command:

mkdir data
docker run -it --rm \
  -v ${PWD}/data:/home/user/data \
  statusim/nimbus-validator_client:amd64-latest \
  --data-dir=data/validator_client/mainnet_0 \
  [other options]

Warning

Do not use the same data directory for beacon node and validator client - they will both try to load the same keys which may result in slashing!

Docker compose

Our preferred setup is using docker-compose. You can use one of our example configuration files as a base for your own custom configuration:

mkdir data
docker-compose -f docker-compose-example1.yml up --quiet-pull --no-color --detach

Note

The rather voluminous logging is done on stdout, so you might want to change the system-wide Docker logging defaults (which dumps everything in /var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log) to something like syslog. We recommend using a log rotation system with appropriate intervals for logs of this size.