Run a fullnode+drone automatically when the container starts up
This commit is contained in:
parent
3fa46dd66d
commit
beb4536841
|
@ -1,5 +1,13 @@
|
||||||
FROM debian:stretch
|
FROM debian:stretch
|
||||||
|
|
||||||
|
# JSON RPC port
|
||||||
|
EXPOSE 8899/tcp
|
||||||
|
|
||||||
|
# Install libssl
|
||||||
RUN apt update && \
|
RUN apt update && \
|
||||||
apt-get install -y libssl-dev && \
|
apt-get install -y libssl-dev && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
COPY cargo-install/bin /usr/bin/
|
|
||||||
|
COPY usr/bin /usr/bin/
|
||||||
|
ENTRYPOINT [ "/usr/bin/solana-entrypoint.sh" ]
|
||||||
|
CMD [""]
|
||||||
|
|
|
@ -1,5 +1,17 @@
|
||||||
## Minimal Solana Docker image
|
## Minimal Solana Docker image
|
||||||
|
|
||||||
This image is automatically updated by CI
|
This image is automatically updated by CI
|
||||||
|
|
||||||
https://hub.docker.com/r/solanalabs/solana/
|
https://hub.docker.com/r/solanalabs/solana/
|
||||||
|
|
||||||
|
### Usage:
|
||||||
|
Run the latest beta image:
|
||||||
|
```bash
|
||||||
|
$ docker run --rm -p 8899:8899 solanalabs/solana:beta
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the latest edge image:
|
||||||
|
```bash
|
||||||
|
$ docker run --rm -p 8899:8899 solanalabs/solana:edge
|
||||||
|
```
|
||||||
|
|
||||||
|
Port *8899* is the JSON RPC port, which is used by clients to communicate with the network.
|
||||||
|
|
|
@ -16,9 +16,10 @@ if [[ -z $CHANNEL ]]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf cargo-install/
|
rm -rf usr/
|
||||||
../docker-run.sh solanalabs/rust:1.29.1 \
|
../docker-run.sh solanalabs/rust:1.29.1 \
|
||||||
cargo install --path . --root ci/docker-solana/cargo-install
|
cargo install --path . --root ci/docker-solana/usr
|
||||||
|
cp -f entrypoint.sh usr/bin/solana-entrypoint.sh
|
||||||
|
|
||||||
docker build -t solanalabs/solana:$CHANNEL .
|
docker build -t solanalabs/solana:$CHANNEL .
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/bash -ex
|
||||||
|
|
||||||
|
export RUST_LOG=solana=info
|
||||||
|
export RUST_BACKTRACE=1
|
||||||
|
|
||||||
|
solana-keygen -o /config/leader-keypair.json
|
||||||
|
solana-keygen -o /config/drone-keypair.json
|
||||||
|
|
||||||
|
solana-genesis --tokens=1000000000 --ledger /ledger < /config/drone-keypair.json
|
||||||
|
solana-fullnode-config --keypair=/config/leader-keypair.json -l > /config/leader-config.json
|
||||||
|
|
||||||
|
solana-drone --keypair /config/drone-keypair.json --network 127.0.0.1:8001 &
|
||||||
|
drone=$!
|
||||||
|
solana-fullnode --identity /config/leader-config.json --ledger /ledger/ &
|
||||||
|
fullnode=$!
|
||||||
|
|
||||||
|
abort() {
|
||||||
|
kill "$drone" "$fullnode"
|
||||||
|
}
|
||||||
|
|
||||||
|
trap abort SIGINT SIGTERM
|
||||||
|
wait "$fullnode"
|
||||||
|
kill "$drone" "$fullnode"
|
Loading…
Reference in New Issue