Skip to content
You are reading Pantheon development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.

Running Pantheon from Docker Image

A Docker image is provided to run a Pantheon node in a Docker container.

Use this Docker image to run a single Pantheon node without installing Pantheon.

Prerequisites

  • Docker

  • MacOS or Linux

    Important

    The Docker image does not run on Windows.

Quickstart

To run a Pantheon node in a container connected to the Ethereum mainnet:

docker run pegasyseng/pantheon:latest
docker run pegasyseng/pantheon:1.1.4

Note

latest runs the latest cached version. To pull the latest version, use docker pull pegasyseng/pantheon:latest.

Exposing Ports

Expose ports for P2P peer discovery, GraphQL, metrics, and HTTP and WebSockets JSON-RPC. Exposing the ports is required to use the default ports or the ports specified using --rpc-http-port, --p2p-port, --rpc-ws-port, --metrics-port, --graphql-http-port, and --metrics-push-port options.

To run Pantheon exposing local ports for access:

docker run -p <localportJSON-RPC>:8545 -p <localportWS>:8546 -p <localportP2P>:30303 pegasyseng/pantheon:latest --rpc-http-enabled --rpc-ws-enabled

Example

To enable RPC calls to http://127.0.0.1:8545 and P2P discovery on http://127.0.0.1:13001:

docker run -p 8545:8545 -p 13001:30303 pegasyseng/pantheon:latest --rpc-http-enabled

Starting Pantheon

Run a Node for Testing

To run a node that mines blocks at a rate suitable for testing purposes with WebSockets enabled:

docker run -p 8546:8546 --mount type=bind,source=/<myvolume/pantheon/testnode>,target=/opt/pantheon/database pegasyseng/pantheon:latest --miner-enabled --miner-coinbase fe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-ws-enabled --network=dev

Run a Node on Rinkeby Testnet

To run a node on Rinkeby:

docker run -p 30303:30303 --mount type=bind,source=/<myvolume/pantheon/rinkeby>,target=/opt/pantheon/database pegasyseng/pantheon:latest --network=rinkeby

Run a Node on Ethereum Mainnet

To run a node on Ethereum mainnet with the HTTP JSON-RPC service enabled:

docker run -p 8545:8545 --mount type=bind,source=/<myvolume/pantheon/rinkeby>,target=/opt/pantheon/database  -p 30303:30303 pegasyseng/pantheon:latest --rpc-http-enabled

Stopping Pantheon and Cleaning up Resources

When you’re done running nodes, you can shut down the node container without deleting resources or you can delete the container after stopping it. Run docker container ls and docker volume ls to obtain the container and volume names.

To stop a container:

docker stop <container-name>

To delete a container:

docker rm <container-name>

Questions or feedback? You can discuss issues and obtain free support on Pantheon Gitter channel.
For paid professional support by PegaSys, contact us at [email protected]