Docker builds of cardano-wallet-jormungandr are available on DockerHub.
Downloading the Docker image
To get the latest release of cardano-wallet-itn, run:
docker pull inputoutput/cardano-wallet:jormungandrRunning the Docker container for cardano-wallet-itn
To run basic CLI commands, use:
docker run --rm inputoutput/cardano-wallet:jormungandr --helpSee Command-Line Interface for full documentation of the CLI.
Running a cardano-wallet server requires setting up a state directory with a jormungandr config file.
This example uses the itn_rewards_v1 testnet.
-
Set up a state directory with the network config on the Docker host.
mkdir $HOME/state-docker wget -P $HOME/state-docker https://hydra.iohk.io/job/Cardano/iohk-nix/jormungandr-deployment/latest/download/1/itn_rewards_v1-config.yaml -
Run the
cardano-walletserver andjormungandr:docker run \ --publish 127.0.0.1:8090:8090 \ --volume $HOME/state-docker:/data \ --env TMPDIR=/data \ --rm \ inputoutput/cardano-wallet \ launch \ --listen-address 0.0.0.0 \ --state-dir /data \ --genesis-block-hash 8e4d2a343f3dcf9330ad9035b3e8d168e6728904262f2c434a4f8f934ec7b676 \ -- --config /data/itn_rewards_v1-config.yamlExplanation of the arguments:
-
--publish 127.0.0.1:8090:8090- exposes the API server port from the container to the Docker host. -
--volume $HOME/state-docker:/data- mounts the~/state-dockerdirectory on the Docker host to/datainside the container. -
--env TMPDIR=/data- work around a temp directory issue (#1262). Alternatively, you may mount an additional volume on your own temporary directory with--volume /tmp:/tmp. -
--listen-address 0.0.0.0- ensures that the API server binds to the Docker network interface, so that the server can be accessed from outside of the container. -
--state-dir /data- use the data volume for chain and wallet databases.
-
-
Wait for the log message
Wallet backend server listening on 0.0.0.0:8090to be shown (it may take 30-60 minutes for jormungandr to bootstrap).Then in another shell, on the Docker host, run:
curl http://localhost:8090/v2/network/informationThe cardano-wallet API server should return its status as JSON.
Naming scheme
The following tags are pushed to DockerHub.
| Tag | Network node backend | Version |
|---|---|---|
inputoutput/cardano-wallet:jormungandr | Jörmungandr | Latest GitHub release |
inputoutput/cardano-wallet:dev-master-jormungandr | Jörmungandr | Latest revision of master branch |
inputoutput/cardano-wallet:2020.1.7-jormungandr | Jörmungandr | v2020-01-07 (for example) |
inputoutput/cardano-wallet:e902913750f763ac3dcb37f57fa35154db2934eb-jormungandr | Jörmungandr | A certain revision of the master branch (e902913 for example). |
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 -A dockerImage.jormungandr --no-out-link)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-jormungandr. If you need to run a shell inside the Docker image, use the bash shell as the entrypoint:
docker run --rm -it --entrypoint bash inputoutput/cardano-wallet:jormungandr