diff --git a/docker/README.rst b/docker/README.rst index b135c0072..951fa4b76 100644 --- a/docker/README.rst +++ b/docker/README.rst @@ -1,120 +1,71 @@ Using Docker ============ -`This folder `__ 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. +It is assumed that you have already `setup docker `__. Tendermint ---------- -Build the container: Copy the ``tendermint`` binary to the -``tendermint`` folder. - -:: +The application configuration and data will be stored at ``/tendermint`` in the +container. This directory will also be exposed as a volume. The ports 46656 and +46657 will be open for ABCI applications to connect. - 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``: +Initialize tendermint: :: - docker run --rm -v data:/tendermint tendermint init + mkdir /tmdata + docker run --rm -v /tmdata:/tendermint tendermint/tendermint init + +Change ``/tmdata`` folder to any destination where you want to store Tendermint +configuration and data. -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. +Tendermint docker image is stored on `docker hub `__. Get the public key of tendermint: :: - docker run --rm -v data:/tendermint tendermint show_validator + docker run --rm -v /tmdata:/tendermint 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 /tmdata:/tendermint tendermint/tendermint node -:: +Building images by yourself: - 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 +`This folder `__ +contains Docker container descriptions. Using this folder you can build your +own Docker images with the tendermint application. Ethermint --------- -Build the container: Copy the ``ethermint`` binary and the setup folder -to the ``ethermint`` folder. +The application configuration will be stored at ``/ethermint``. -:: +Initialize ethermint: - 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``. + mkdir /ethermintdata + wget -O /ethermintdata/genesis.json https://github.com/tendermint/ethermint/raw/master/setup/genesis.json + docker run --rm -v /ethermintdata:/ethermint tendermint/ethermint ethermint --datadir /ethermint init /ethermint/genesis.json -Initialize ethermint configuration: +Start ethermint as a validator node: This is a two-step process: \* Run the +tendermint container and expose the ports that allow clients to connect. \* Run +the ethermint container. You will have to define where tendermint runs as the +ethermint binary connects to it explicitly. The --proxy\_app should contain the +ethermint application's IP address and port. :: - 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 /tmdata:/tendermint tendermint/tendermint node --proxy_app=tcp://172.17.0.3:46658 + docker run --rm -d -v /ethermintdata:/ethermint tendermint/ethermint ethermint --tendermint_addr tcp://172.17.0.2:46657 -:: +Building images by yourself: - 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 +`This folder `__ +contains Docker container descriptions. Using this folder you can build your +own Docker images with the ethermint application. diff --git a/docker/basecoin/Dockerfile b/docker/basecoin/Dockerfile deleted file mode 100644 index 42d01883f..000000000 --- a/docker/basecoin/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM busybox -#Use --build-arg to change where the basecoin binary resides -ARG BASECOIN_BINARY=basecoin -ENV BCHOME /basecoin -COPY $BASECOIN_BINARY /usr/bin/basecoin -RUN adduser -h $BCHOME -D basecoin -VOLUME [ $BCHOME ] -EXPOSE 46658 -USER basecoin -ENTRYPOINT ["/usr/bin/basecoin"] -CMD ["start","--without-tendermint"] -WORKDIR $BCHOME -STOPSIGNAL SIGTERM -