Update Docker instructions (#13437)

This commit is contained in:
Luke Schoen
2023-03-09 00:57:44 +11:00
committed by GitHub
parent 44c342eda4
commit a6f849f5a8
7 changed files with 51 additions and 58 deletions
+32 -6
View File
@@ -5,23 +5,49 @@ There is no requirement on having Rust or any other toolchain installed but a wo
Unlike the `parity/polkadot` image which contains a single binary (`polkadot`!) used by default, the image in this folder builds and contains several binaries and you need to provide the name of the binary to be called.
You should refer to the .Dockerfile for the actual list. At the time of editing, the list of included binaries is:
You should refer to the [.Dockerfile](./substrate_builder.Dockerfile) for the actual list. At the time of editing, the list of included binaries is:
- substrate
- subkey
- node-template
- chain-spec-builder
To generate the latest parity/substrate image. Please first run:
First, install [Docker](https://docs.docker.com/get-docker/).
Then to generate the latest parity/substrate image. Please run:
```sh
./build.sh
```
> If you wish to create a debug build rather than a production build, then you may modify the [.Dockerfile](./substrate_builder.Dockerfile) replacing `cargo build --locked --release` with just `cargo build --locked` and replacing `target/release` with `target/debug`.
> If you get an error that a tcp port address is already in use then find an available port to use for the host port in the [.Dockerfile](./substrate_builder.Dockerfile).
The image can be used by passing the selected binary followed by the appropriate tags for this binary.
Your best guess to get started is to pass the `--help flag`. Here are a few examples:
- `docker run --rm -it parity/substrate substrate --version`
- `docker run --rm -it parity/substrate subkey --help`
- `docker run --rm -it parity/substrate node-template --version`
- `docker run --rm -it parity/substrate chain-spec-builder --help`
- `./run.sh substrate --version`
- `./run.sh subkey --help`
- `./run.sh node-template --version`
- `./run.sh chain-spec-builder --help`
Then try running the following command to start a single node development chain using the Substrate Node Template binary `node-template`:
```sh
./run.sh node-template --dev --ws-external
```
Note: It is recommended to provide a custom `--base-path` to store the chain database. For example:
```sh
# Run Substrate Node Template without re-compiling
./run.sh node-template --dev --ws-external --base-path=/data
```
> To print logs follow the [Substrate debugging instructions](https://docs.substrate.io/test/debug/).
```sh
# Purge the local dev chain
./run.sh node-template purge-chain --dev --base-path=/data -y
```