Running with Docker

Docker images are continuously built and deployed on dockerhub under specific tags. Using docker provides the fastest and easiest user experience for setting up the Cardano stack. You should prefer this solution over building from sources unless you have really good reasons not to. The following images are available for each component of the Adrestia architecture:

RepositoryTagsDocumentation
inputoutput/cardano-nodemaster, MAJ.MIN.PATCH, latestlink
[cardanofoundation/cardano-wallet][cardanofoundation-cardano-wallet]byron, YYYY.MM.DD-byron, latestDocker

Tag Naming Scheme

TagContents
latestPoints to the latest stable image for the corresponding component. This is also the tag to which docker defaults when pulling without an explicit tag. These typically points to latest known release which happens at the end of an iteration cycle. Depending on which project / component, the iteration cycle may vary from 1 to 2 weeks.
MAJ.MIN.PATCH or YYYY.MM.DDMust match actual releases of the corresponding component. Refer to each component release notes to know which release tags are available.
masterPoints to the very tip of the development branch. This is therefore not recommended for production but can be useful to try out features before they are officially released.

Examples

For example, in order to use cardano-node@1.10.0, one can simply run:

> docker pull inputoutput/cardano-node:1.10.0

Similarly, one can pull cardano-wallet@v2021-08-11 with:

> docker pull cardanofoundation/cardano-wallet:2021.8.11

About version compatibility

For version compatibility between components, please refer to compatibility matrix on each component main page (e.g. cardano-wallet).

Downloading the Docker image

To get the latest release of cardano-wallet, run:

docker pull cardanofoundation/cardano-wallet:latest

Running the Docker container for cardano-wallet

To run basic CLI commands, use:

> docker run --rm cardanofoundation/cardano-wallet:latest --help

See cli for full documentation of the CLI.

Building the Docker image locally

Ensure that you have Nix installed and the IOHK binary cache enabled (instructions).

Then run this command from the cardano-wallet git repo:

> docker load -i $(nix build --json .#dockerImage | jq -r '.[0].outputs.out')

If you have no local changes, the build should be downloaded from the IOHK binary cache then loaded into your local Docker image storage.

Inspecting the contents of the Docker image

The default entrypoint of the image is /bin/start-cardano-wallet-shelley. If you need to run a shell inside the Docker image, use the bash shell as the entrypoint:

> docker run --rm -it --entrypoint bash cardanofoundation/cardano-wallet:latest

Docker compose

One can also use docker-compose to quickly spin up cardano-wallet together with supported block producer. Those are useful for a quick start or as a baseline for development.

cardano-wallet/docker-compose.yml is an example docker-compose.yaml combining the latest versions of cardano-wallet and cardano-node.

To give it a spin, simply launch:

wget https://raw.githubusercontent.com/cardano-foundation/cardano-wallet/master/docker-compose.yml
NETWORK=mainnet docker-compose up

There is also an example configuration for cardano-graphql.