I'm trying to run a sandboxed tezos node in a Docker container. Since it's (to my mind) not possible using the normal tezos docker image, and I ran into issues using granary, I tried setting up a Docker container using the following Dockerfile:

FROM ubuntu:18.04
RUN apt-get update -y
RUN apt-get install -y rsync git m4 build-essential patch unzip bubblewrap wget pkg-config libgmp-dev libev-dev libhidapi-dev libsodium-dev libcurl4-gnutls-dev ocaml
RUN apt-get install -y libgmp-dev m4 perl
RUN wget https://github.com/ocaml/opam/releases/download/2.0.3/opam-2.0.3-x86_64-linux
RUN cp opam-2.0.3-x86_64-linux /usr/local/bin/opam
RUN chmod a+x /usr/local/bin/opam
RUN git clone https://github.com/ocaml/dune.git
WORKDIR /dune/
RUN make release
RUN make install
RUN git clone https://gitlab.com/tezos/tezos.git
WORKDIR /tezos/
RUN git checkout alphanet
RUN opam init --bare --disable-sandboxing
RUN eval $(opam env)
RUN make build-deps
RUN eval $(opam env)
RUN opam update && opam upgrade -y
RUN opam config exec make
RUN export PATH=/tezos:$PATH
# RUN source ./src/bin_client/bash-completion.sh
COPY ./start-tezos-sandbox.sh .
ENTRYPOINT ["./start-tezos-sandbox.sh"]

start-tezos-sandbox.sh looks as follows:

#!/usr/bin/env bash

DATA_DIR='/var/run/tezos/node' /tezos/src/bin_node/tezos-sandboxed-node.sh 1 --connections 1 &
eval 'sleep 5 && eval '/tezos/src/bin_client/tezos-init-sandboxed-client.sh 1'' &
wait $P2
/tezos/src/bin_client//../../_build/default/src/bin_client/main_client.exe -base-dir /var/run/tezos/client -addr localhost -port 18731 -block genesis activate protocol Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd with fitness 1 and key activator and parameters /tezos/src/bin_client//../../scripts/protocol_parameters.json --timestamp 2019-06-21T11:20:44Z
wait $P1

The node starts as expected, but executing the command to activate the alpha protocol (i.e., what's aliased to tezos-activate-alpha) does not seem to work. Instead, the third command of start-tezos-sandbox.sh only yields:

  No matching plugin for key scheme 

I'm not sure what's causing this error, and even whether running a sandboxed node like this is the correct approach. Is ther any other way to run a sandbox node as a Docker container? Or can this error be fixed? Any help would be appreciated!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.