Starting the node from Docker
Introduction
You can start a TP-Node using the Docker image.
Setting up the environment
Before you start a TP-Node using the Docker image:
-
Ensure you have Docker installed on your machine.
-
If not, refer to Docker Installation Guide.
Hint:
If you don't use
rootaccount, run the following command to ensure you belong the user groupdocker:$ groupsIf you don't belong to the user group
docker, run the following command:$ sudo usermod -aG docker -
Get and start the Tea Ceremony Client to get the actual
node.configandgenesis.txtfiles. -
Create
dbandlogdirectories in your working directory (/opt, for instance).Hint
You can create an additional directory named
thepower, for example, and placedbandlogas subdirectories there. -
Place the files
genesis.txtandnode.configneardbandlogdirectories.
Starting the node
To start the node run the following command:
docker run -d \
--name tpnode \
--restart unless-stopped \
--mount type=bind,source=/opt/thepower/db,target=/opt/thepower/db \
--mount type=bind,source=/opt/thepower/log,target=/opt/thepower/log \
--mount type=bind,source=/opt/thepower/node.config,target=/opt/thepower/node.config \
--mount type=bind,source=/opt/thepower/genesis.txt,target=/opt/thepower/genesis.txt \
-p 1800:1800 \
-p 1080:1080 \
-p 1443:1443 \
thepowerio/tpnode
where:
| Command | Description |
|---|---|
docker run -d | This command starts Docker in the background |
--name tpnode | This command specifies the name (optional) |
--restart unless-stopped | This options helps to avoid manual Deocker restart in case of a server restart |
--mount type=bind,source="$(pwd)"/db,target=/opt/thepower/db | Path to the database. Bound to Docker. /opt here is mandatory, because it is the path inside the container. |
--mount type=bind,source="$(pwd)"/log,target=/opt/thepower/log | Path to log files. Bound to Docker. /opt here is mandatory, because it is the path inside the container. |
--mount type=bind,source="$(pwd)"/node.config,target=/opt/thepower/node.config | Path to your node.config file. Bound to Docker. /opt here is mandatory, because it is the path inside the container. |
--mount type=bind,source="$(pwd)"/genesis.txt,target=/opt/thepower/genesis.txt | Path to your genesis.txt. Bound to Docker. /opt here is mandatory, because it is the path inside the container. |
-p 1800:1800 -p 1080:1080 -p 1443:1443 | These commands specify all necessary local ports. In this examples ports api, apis, and tpic are used. You can specify any port in node.config file. The ports should be the same as specified in node.config. |
thepowerio/tpnode | Path to Docker image. |
Stopping the node in Docker
To stop the node, use the following commands:
-
docker stop tpnode -
docker rm tpnode