In my experience IOG's bash scripts, used for running `cardano-node`, are poorly documented and have poor error handling. I suggest running `cardano-node` directly with the relevant config files: ``` /usr/local/bin/cardano-node run --config $CARDANO_CONFIG --topology $CARDANO_TOPOLOGY --database-path $CARDANO_DATABASE_PATH --socket-path $CARDANO_NODE_SOCKET_PATH --host-addr 0.0.0.0 --port 3001 ``` The relevant config files can be found here: https://book.world.dev.cardano.org/environments.html Of course you would have to change the entrypoint of the docker image to be able to do that. For that I suggest creating a new Dockerfile that wraps `inputoutput/cardano-node:latest`: ``` # syntax=docker/dockerfile:1 FROM inputoutput/cardano-node:latest RUN mkdir -p /data/preprod RUN mkdir -p /ipc COPY ./config.json /data/preprod/config.json COPY ./topology.json /data/preprod/topology.json COPY ./byron-genesis.json /data/preprod/byron-genesis.json COPY ./shelley-genesis.json /data/preprod/shelley-genesis.json COPY ./alonzo-genesis.json /data/preprod/alonzo-genesis.json COPY ./entrypoint /usr/local/bin/entrypoint RUN chmod +x /usr/local/bin/entrypoint ENTRYPOINT ["bash", "/usr/local/bin/entrypoint"] ``` The `entrypoint` script should contain the first command I mentioned: ``` #!/bin/bash export CARDANO_CONFIG=/data/preprod/config.json export CARDANO_TOPOLOGY=/data/preprod/topology.json export CARDANO_DATABASE_PATH=/data/preprod/db export CARDANO_NODE_SOCKET_PATH=/ipc/node.socket exec /usr/local/bin/cardano-node run --config $CARDANO_CONFIG --topology $CARDANO_TOPOLOGY --database-path $CARDANO_DATABASE_PATH --socket-path $CARDANO_NODE_SOCKET_PATH --host-addr 0.0.0.0 --port 3001 ``` Finally build your image and run it: ``` docker build -t cardano-preprodnet . docker run -d -v cardano-node-data:/data cardano-preprodnet ``` A github repo that does precisely what I described above can be found here: https://github.com/Hyperion-BT/cardano-node-wrappers (disclaimer: I created this)