Skip to content
This repository was archived by the owner on Apr 7, 2020. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions _docs/cardano-node/node-running-docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,24 @@ title: Running a Cardano node using Docker
parent: running-a-cardano-node
order: 2
---
Read if: You want to use Docker to run a Cardano node

Read first: [Running a Cardano node](../cardano-node.md)

Read next: [Configuring a Cardano node using a config.yaml file](node-config-yaml.md)
Copy link
Member

@rhyslbw rhyslbw Feb 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cardano-node developers will be the best contacts for assistance with this page. The Docker image simply defines a mount point for the user to pass configuration in at runtime if not wishing to use the IOHK-managed config.


You can use Docker to quickly set up and run a Cardano node. Multiple Docker images are available, each preconfigured to connect to a specific public Cardano network. There is also a base image available, which runs an unconfigured Cardano node that can be provided with a custom `config.yaml` file. All of the preconfigured Docker images contain this base image with an additional configuration layer.
Copy link
Member

@rhyslbw rhyslbw Feb 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multiple Docker images are available, each preconfigured to connect to a specific public Cardano network

Tags suitable for development and production dependency pinning are pushed to the Dockerhub registry, with default configuration for joining public supported networks available by setting the NETWORK environment variable at runtime

There is also a base image available, which runs an unconfigured Cardano node that can be provided with a custom config.yaml file

There's been a late change to the design that condenses the base and network variants to a single image. At runtime the user can elect to use the IOHK-managed configuration for each public, or omit the NETWORK and simply mount config into the container.


For a full list of the available Docker images, see the official [Cardano node Docker Hub](link to Cardano node docker Hub) page. <!-- Do we need to define the PIN format here too?-->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For a full list of the available Docker images, see the official [Cardano node Docker Hub](link to Cardano node docker Hub) page. <!-- Do we need to define the PIN format here too?-->
See the IOHK [Cardano node Docker Hub repository](https://hub.docker.com/repository/docker/inputoutput/cardano-node) for the available tags.


## Prerequisites
You need to have Docker installed and configured on your machine. See the [Docker documentation](https://docs.docker.com/install/) for more information.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be refined when the use-cases are separated


## Steps
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can also refine this later, as it's dependent on the context

1. Open Docker and use `docker pull` to pull a Cardano node Docker image from [Docker Hub](link to Cardano node Docker Hub). The exact command varies depending on which image you want to pull.

If you want to pull the unconfigured base image, for example, you can use `docker pull cardano-node`. If you want to pull an image configured to connect to the Cardano mainnet, you can use `docker pull cardano-node:mainnet`.
2. Run the Cardano node image using `docker run`, followed by whichever image you just pulled. For example, `docker run cardano-node:mainnet`.

## Result
You now have a running Cardano node. If you used a preconfigured Docker image, then the node will be ready to connect to whichever network it is configured for. If you used the unconfigured base image, you will need to [configure your Cardano node](node-config-yaml.md).