Docker inputoutput/cardano-node version 1.35.3 confuses me

Yesterday I tried docker image inputoutput/cardano-node:1.35.3 which is also tagged as latest. So far so good. The container came up and did his verifying block routine. In the log file I could read the following entries:

..,"env":"1.35.3:00000","host":"relay","lo..

Version entry 1.35.3:0000 was the first inconsistency. From another manual install I was used to get 1.35.3:950c4 instead of 1.35.3:0000

When I startet gLiveView I saw 1.34.1 [73f9a746] even though the image was tagged as 1.35.3. I expected 1.35.3 [950c4e22]

After a bit research on hub.docker.com I found another image tagged inputoutput/cardano-node:1.35.3-new. But if I would run this image with my configuration it breaks with the following error:

docker run --rm  inputoutput/cardano-node:1.35.3-new --config /opt/cardano/config/mainnet-config.json --topology /opt/cardano/config/mainnet-topology.json --socket-path /opt/cardano/ipc/socket --database-path /opt/cardano/data/db --host-addr 0.0.0.0 --port 22378
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "--config": executable file not found in $PATH: unknown.
ERRO[0000] error waiting for container: context canceled

I know there is no rush to upgrade, but is there someone else who has problems with inputoutput/cardano-node images?

I see some complains on that 1.35.3-new image in telegram group related to testnet too, didn’t tried it yet, though.

Seems 1.35.3-new differs from 1.35.3 so it has for preprod & preview necessary config files.

Can you please post the telegram link.

Join official SPO telegram group - Cardano Stake Pool Best Practice Workgroup

Then ask to be joined to testnet group(that group of for someone who wants to run testnet pools)

I can’t share link to that group, I think it is kind of invitation only…

Added you to testnet group yesterday.

I just tried to run 1.35.3-new docker image and it didn’t work.

Here are some details from @disasm

However, you can give inputoutput/cardano-node:1.35.3-new docker tag a spin. It’s much nicer in my opinion. Can get peers from consul or define them via NODE_TOPOLOGY env var. Has pre-loaded environments but can also take a custom NODE_CONFIG. It also has a DEBUG_SLEEP param that you can set to start the container without starting the node to debug and has a /bin/debug entrypoint that gives you a bash shell with a bunch of useful utilities.

I was not able to run it however, I tried “/bin/debug” as entry-point

If I try to run usual way with “/usr/local/bin/cardano-node” as entry point I’m getting:

/usr/local/bin/cardano-node: no such file or directory

Here is more details from @disasm

this works for me: podman run -it -v data:/data -e DATA_DIR=/data -e ENVIRONMENT=preprod -e SOCKET_PATH=/data/node.socket inputoutput/cardano-node:1.35.3-new

Yesterday I couldn’t work but now I am BTK.

Just to make sure I didn’t make a mistake I went through everything again and something is wrong with the image inputoutput/cardano-node:1.35.3. The git revision number ist 000000 as you can see in the last line. I’m just surprised that more people haven’t noticed it but maybe thats why the come up with 1.35.3-new

root@relay02:~# docker images | grep inputoutput/cardano-node
inputoutput/cardano-node    1.35.3    b4dc9a4cd2bc   4 months ago   777MB
inputoutput/cardano-node    latest    b4dc9a4cd2bc   4 months ago   777MB
root@relay02:~# docker ps | grep inputoutput/cardano-node
d9a01f611e6f   inputoutput/cardano-node        "entrypoint run --co…"   3 minutes ago   Up 3 minutes                                        iohk_mag_cardano_node
root@relay02:~# docker exec d9 /usr/local/bin/cardano-node --version
    Alloc    Copied     Live     GC     GC      TOT      TOT  Page Flts
    bytes     bytes     bytes   user   elap     user     elap
cardano-node 1.35.3 - linux-x86_64 - ghc-8.10
git rev 0000000000000000000000000000000000000000

I give version 1.35.3-new a shot. @os11k, thank you for your hint.

Hi,

I saw that git rev version “0000000000000000000000000000000000000000” not only on 1.35.3, that doesn’t mean it do not work, seems just git version is messed up. :slight_smile:

I do run 1.35.3 on mainnet without issues(even I didn’t get yet any blocks there with it)

Just keep in mind 1.35.3-new seems to be broken. I was not able to make it work and a lot of other SPOs are complaining on it, but give it a shot.

If you will be able to run it, let me know it will be interesting to find out how to make it work.

Cheers!

What version shows gLiveView on your running mainnet with 1.35.3? In my gLiveView there is 1.34.1 and that is what bothers/surprise me

relay02

relay02

I don’t use gLiveView

How you managed to make it work with docker? I tried like 9 month ago, didn’t succeeded and gave up

This is good enough for me:

Maybe gLiveView has some bug inside…

I guess, that is the mistake!!! The way, I interact with gLiveView and the container. The whole time I was wondering where the old version 1.34.1 comes from. I’ll revise it and put a HowTo in the forum if someone else wants to build it that way.

I was too focused on the new version that I switched it off completely.

Thanks @os11k for your coaching :wink:

Hi @HamsterStakePool ,

Would be nice if you can get some documentation how to get gliveview in docker, I’m not only one wondering, there were several SPOs asking in this forum.

Regarding 1.35.3-new seems it is possible to lunch in docker more details from hareem_wave

To anyone using 1.35.3-new Docker image. Quite a few things have changed around the container usage. Instead of using the run command to pass arguments to start the node, we instead now pass environment variables to the container. Here are some of the important ones; ENVIRONMENT, DATA_DIR, DB_DIR, SOCKET_PATH, HOST_ADDR, PORT, NODE_CONFIG, NODE_TOPOLOGY.

The DATA_DIR is the main volume that is mounted that the container will use to write config files, etc.
DATA_DIR and ENVIRONMENT seem to be the minimum required. The container will use sensible default directories within DATA_DIR for the database, socket, config, and topology files

version: '3.8'

services:   
  node:
    container_name: your_relay_name
    image: inputoutput/cardano-node:1.35.3-new
    restart: unless-stopped
    volumes:
      - /path/to/your/data/dir/:/data
    user: 0:0
    environment:
      - ENVIRONMENT=preprod
      - DATA_DIR=/data
    networks:
      - my-network

  cli:
    container_name: your_cli_name
    image: inputoutput/cardano-node:1.35.3-new
    restart: unless-stopped
    volumes:
      - /path/to/your/data/dir/:/data
    user: 0:0
    environment:
      - ENVIRONMENT=preprod
      - DATA_DIR=/data
      - CARDANO_NODE_SOCKET_PATH=/data/node.socket
      - DEBUG_SLEEP=6000
    networks:
      - my-network

networks:
  my-network:
    name: my-network
1 Like

@os11k Thanks for posting this here.

One thing I would like to add for anyone else that may end up here.

The NODE_CONFIG is required if you don’t use ENVIRONMENT.

ENVIRONMENT will make the container use the presets for that environment. For example in preprod the config files would be in data/config/preprod . This will ignore the config passed in NODE_CONFIG.

1 Like