|
|
- Using Docker
- ============
-
- `This folder <https://github.com/tendermint/tools/tree/master/docker>`__ contains Docker container descriptions. Using this folder
- you can build your own Docker images with the tendermint application.
-
- It is assumed that you have already setup docker.
-
- If you don't want to build the images yourself, you should be able to
- download them from Docker Hub.
-
- Tendermint
- ----------
-
- Build the container: Copy the ``tendermint`` binary to the
- ``tendermint`` folder.
-
- ::
-
- docker build -t tendermint tendermint
-
- The application configuration will be stored at ``/tendermint`` in the
- container. The ports 46656 and 46657 will be open for ABCI applications
- to connect.
-
- Initialize tendermint configuration and keep it after the container is
- finished in a docker volume called ``data``:
-
- ::
-
- docker run --rm -v data:/tendermint tendermint init
-
- If you want the docker volume to be a physical directory on your
- filesystem, you have to give an absolute path to docker and make sure
- the permissions allow the application to write it.
-
- Get the public key of tendermint:
-
- ::
-
- docker run --rm -v data:/tendermint tendermint show_validator
-
- Run the docker tendermint application with:
-
- ::
-
- docker run --rm -d -v data:/tendermint tendermint node
-
- Basecoin
- --------
-
- Build the container: Copy the ``basecoin`` binary to the ``basecoin``
- folder.
-
- ::
-
- docker build -t basecoin basecoin
-
- The application configuration will be stored at ``/basecoin``.
-
- Initialize basecoin configuration and keep it after the container is
- finished:
-
- ::
-
- docker run --rm -v basecoindata:/basecoin basecoin init deadbeef
-
- Use your own basecoin account instead of ``deadbeef`` in the ``init``
- command.
-
- Get the public key of basecoin: We use a trick here: since the basecoin
- and the tendermint configuration folders are similar, the ``tendermint``
- command can extract the public key for us if we feed the basecoin
- configuration folder to tendermint.
-
- ::
-
- docker run --rm -v basecoindata:/tendermint tendermint show_validator
-
- Run the docker tendermint application with: This is a two-step process:
- \* Run the basecoin container. \* Run the tendermint container and
- expose the ports that allow clients to connect. The --proxy\_app should
- contain the basecoin application's IP address and port.
-
- ::
-
- docker run --rm -d -v basecoindata:/basecoin basecoin start --without-tendermint
- docker run --rm -d -v data:/tendermint -p 46656-46657:46656-46657 tendermint node --proxy_app tcp://172.17.0.2:46658
-
- Ethermint
- ---------
-
- Build the container: Copy the ``ethermint`` binary and the setup folder
- to the ``ethermint`` folder.
-
- ::
-
- docker build -t ethermint ethermint
-
- The application configuration will be stored at ``/ethermint``. The
- files required for initializing ethermint (the files in the source
- ``setup`` folder) are under ``/setup``.
-
- Initialize ethermint configuration:
-
- ::
-
- docker run --rm -v ethermintdata:/ethermint ethermint init /setup/genesis.json
-
- Start ethermint as a validator node: This is a two-step process: \* Run
- the ethermint container. You will have to define where tendermint runs
- as the ethermint binary connects to it explicitly. \* Run the tendermint
- container and expose the ports that allow clients to connect. The
- --proxy\_app should contain the ethermint application's IP address and
- port.
-
- ::
-
- docker run --rm -d -v ethermintdata:/ethermint ethermint --tendermint_addr tcp://172.17.0.3:46657
- docker run --rm -d -v data:/tendermint -p 46656-46657:46656-46657 tendermint node --proxy_app tcp://172.17.0.2:46658
|