Aide installation Duniter-v2 docker "orphan container" / "port already allocated"

Bonsoir,
J’essaie de mettre en place un noeud miroir V2 avec docker sur un serveur debian avec yunohost dessus, j’ai ce message d’erreur quand je fais ‘docker compose up -d’:

WARN[0000] Found orphan containers ([duniter-v2s distance-oracle]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
[+] Running 0/1
 ⠙ Container root-duniter-mirror-1  Starting                                                                                                   0.1s
Error response from daemon: driver failed programming external connectivity on endpoint root-duniter-mirror-1 (c824db0edce5955844a6114e34cbeb45811698fdac1df7d6b9bec793f3cdaa73): Bind for 0.0.0.0:30333 failed: port is already allocated

Voici mon fichier docker compose:

version: "3.5"

services:
  duniter-mirror:
    image: duniter/duniter-v2s-gdev:latest
    restart: unless-stopped
    ports:
      # Prometheus endpoint
      - 9615:9615
      # rpc via http
      - 9933:9933
      # rpc via websocket
      - 9944:9944
      # p2p
      - 30333:30333
    volumes:
      - data-mirror:/var/lib/duniter/
    environment:
      - DUNITER_CHAIN_NAME=gdev
      - DUNITER_NODE_NAME=tatinetteb-v2

volumes:
  data-mirror:

J’ai une adresse dédié qui est 'duniterv2.shainajabu3.noho.st ’ Je ne sais pas comment la rentrer, j’ai essayé :

version: "3.5"

services:
  duniter-mirror:
    image: duniter/duniter-v2s-gdev:latest
    restart: unless-stopped
    ports:
      # Prometheus endpoint
      - 9615:9615
      # rpc via http
      - 9933:9933
      # rpc via websocket
      - 9944:9944
      # p2p
      - 30333:30333
    volumes:
      - data-mirror:/var/lib/duniter/
    environment:
      - DUNITER_CHAIN_NAME=gdev
      - DUNITER_NODE_NAME=tatinetteb-v2
      - DUNITER_PUBLIC_ADDR=dns/duniterv2.shainajabu3.noho.st/tpc/30333
      - DUNITER_LISTEN_ADDR=/ip4/0.0.0.0/tcp/30333/ws


volumes:
  data-mirror:

Message d’erreur:

WARN[0000] Found orphan containers ([duniter-v2s distance-oracle]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
[+] Running 0/1
 ⠙ Container root-duniter-mirror-1  Starting                                                                                                   0.1s
Error response from daemon: driver failed programming external connectivity on endpoint root-duniter-mirror-1 (f26baf69fd0d80b2fe08c4fd1580951cf08c85e17987061ae0752521b33572d3): Bind for 0.0.0.0:30333 failed: port is already allocated
-bash: syntax error near unexpected token `('
-bash: [+]: command not found
-bash: ⠙: command not found
-bash: syntax error near unexpected token `('

Comment corriger les erreurs pour pouvoir lancer le noeud?

1 Like

Regarde si tu n’as pas déjà un conteneur Duniter-v2s qui tourne, tue-le et relance.

1 Like

Je suis novice avec docker, je ne sais pas comment faire :sweat_smile:.

Voici ma tentative:

root@shainajabu3:~# docker image ls
REPOSITORY                            TAG       IMAGE ID       CREATED         SIZE
duniter/duniter-v2s-gdev              latest    194c3ee0c56d   5 weeks ago     215MB
pinidh/duniter                        1.8-dev   52c8012d2faa   5 months ago    409MB
duniter/duniter-v2s                   latest    9727a629d514   6 months ago    166MB
pinidh/nginx-proxy                    latest    3878fe28d123   9 months ago    159MB
pinidh/acme-companion                 latest    50e316849b4d   9 months ago    46.1MB
hello-world                           latest    9c7a54a9a43c   10 months ago   13.3kB
duniter/duniter-v2s                   v0.4.0    34bdae98393f   16 months ago   156MB
dockerbogo/docker-nginx-hello-world   latest    7765b6b1043f   5 years ago     18.6MB
root@shainajabu3:~# docker container ls
CONTAINER ID   IMAGE                        COMMAND                  CREATED             STATUS             PORTS                                                                                                                                                                            NAMES
f5ff2e584650   duniter/duniter-v2s:latest   "docker-entrypoint"      About an hour ago   Up About an hour   0.0.0.0:9615->9615/tcp, :::9615->9615/tcp, 0.0.0.0:9933->9933/tcp, :::9933->9933/tcp, 0.0.0.0:9944->9944/tcp, :::9944->9944/tcp, 0.0.0.0:30333->30333/tcp, :::30333->30333/tcp   duniter-v2s
c99309283292   pinidh/duniter:1.8-dev       "/docker-entrypoint.…"   5 months ago        Up 2 hours         10901/tcp, 127.0.0.1:9220->9220/tcp, 20901/tcp                                                                                                                                   duniterv1-duniter-1
root@shainajabu3:~# docker rmi f5ff2e584650
Error response from daemon: No such image: f5ff2e584650:latest
root@shainajabu3:~# docker rmi f5ff2e584650 -f
Error response from daemon: No such image: f5ff2e584650:latest
root@shainajabu3:~#
1 Like
docker container rm f5ff2e584650
3 Likes

@tatinetteb , je te conseille d’installer Portainer CE, dans ton docker.
c’est une image docker comme une autre mais elle va te permettre d’avoir une interface GUI pour gérer tout ce qui tourne sur ton Docker.
Tu va pourvoir voir tes images, tes conteneurs, faire des Stack avec tes fichier compose, voir les logs de tes conteneurs, leurs ports, interagir directement avec un terminal interne à chacun d’eux, etc etc…
Bref ca va te changer la vie en tant que débutante sous docker… c’est ainsi que je pratique et je te le conseille vivement !!!

https://docs.portainer.io/start/install-ce/server/docker/linux

3 Likes

Un grand merci trop top Portainer.

Dans container list ‘duniter-v2s-duniter-mirror-1’ sur l’image ‘duniter/duniter-v2s-gdev:latest’ est running.
Comment savoir si c’est réellement ok?

1 Like

look ici : Polkadot Telemetry - 800 pour voir si ton noeud crée apparait dans la liste pour commencer
mais je n’ai pas l’imprssion qu’il ai rejoint le réseau car le plus récent à rejoint il y a 7h et ce n’est pas le tien…

1 Like

Je ne comprends pas pourquoi il n’apparait pas :anguished:.

1 Like

sur la ligne de ton conteneur, dans la colonne “quickacces” clic sur l’icône logs et tu verra s’il s’est synchronisé.

1 Like

Non, il n’a pas l’air de se synchroniser.

Voici un extrait du log:

2024-03-13 17:29:02 💤 Idle (0 peers), best: #1050 (0x1dd6…8b52), finalized #1048 (0x1d3e…ad82), ⬇ 0 ⬆ 0    

2024-03-13 17:29:07 💤 Idle (0 peers), best: #1050 (0x1dd6…8b52), finalized #1048 (0x1d3e…ad82), ⬇ 0 ⬆ 0    

2024-03-13 17:29:12 💤 Idle (0 peers), best: #1050 (0x1dd6…8b52), finalized #1048 (0x1d3e…ad82), ⬇ 0 ⬆ 0    

2024-03-13 17:29:17 💤 Idle (0 peers), best: #1050 (0x1dd6…8b52), finalized #1048 (0x1d3e…ad82), ⬇ 0 ⬆ 0    

2024-03-13 17:29:22 💤 Idle (0 peers), best: #1050 (0x1dd6…8b52), finalized #1048 (0x1d3e…ad82), ⬇ 0 ⬆ 0    

2024-03-13 17:29:27 💤 Idle (0 peers), best: #1050 (0x1dd6…8b52), finalized #1048 (0x1d3e…ad82), ⬇ 0 ⬆ 0
1 Like

le plus simple pour repartir de zero, si tu as fait un fichier stack contenant ton compose :

  • tu stop et tu delete ton conteneur
  • tu efface les volumes non utilisés
  • tu relance ton stack Duniter V2S
  • tu look les logs pour voir ce qu’il se passe

et comme t’a Portainer maintenant ca va être tiptop simple à trouver et à faire :wink:

1 Like

Est ce que mon log est bon?

1 Like

aucune compétence sur ce que tu as rajouté dans ton Compose… chez moi il s’en fout de mon ProxyNginx, il passe à travers directement sur les ports du V2S, j’ai donc gardé le compose de base sans faire aucune modif à part le nom du noeud… j’ai juste intégré le network docker perso pour l’accès extérieur

version: "3.5"

services:
  duniter-v2s-mirror:
    image: duniter/duniter-v2s-gdev:runtime-800           # <----
    container_name: duniter-v2s-mirror
    restart: unless-stopped
    ports:
      # Prometheus endpoint
      - 9615:9615
      # rpc via http
      - 9933:9933
      # rpc via websocket
      - 9944:9944
      # p2p
      - 30333:30333
    volumes:
      - data-mirror:/var/lib/duniter/
    environment:
      - DUNITER_CHAIN_NAME=gdev                      # <----
      - DUNITER_NODE_NAME=Rendall-Gdev-Mirror        # <----
    networks:
      - npm-nw

volumes:
  data-mirror:

networks:
  npm-nw:
    external: true 

comme cela, j’ai :

  • 1 mirroir
  • 1 smith
  • 1 oracle

2 Likes

Merci cela fonctionne :slightly_smiling_face:.

2 Likes

tu remarquera que touts mes noeuds sont tous sous la meme base d’IP interne issus de ce reseau ouvert vers l’exterieur, toi , tes 2 noeuds sont chacun avec des IP de 2 reseaux…

Je te vois sur Polkadot !! :+1:

1 Like

C’est du a quoi cette différence?

1 Like

j’ai crée un réseau sous docker, nommé pour “npm-nw”, ouvert vers l’extérieur, et si je veux que des conteneurs puisse communiquer entre eux également en interne ils doivent être sur le même réseau, sinon chaque conteneur Docker fabrique son propre réseau.
C’est pour cela que j’ajoute ces lignes dans mes stack/compose :

    networks:
      - npm-nw

networks:
  npm-nw:
    external: true 

J’ai essayé avec ces lignes et le logiciel m’a marqué une erreur.

failed to deploy a stack: network npm-nw declared as external, but could not be found

2 Likes

effectivement, il faut créer ce réseau en amont avant de le rejoindre. dans ton cas, si tu n’a pas besoin, pas de souci !!!
sauf si tu essaye de monter ensuite un smith et un validator, il faudra les forcer à rejoindre le réseau utilisé par ton miroir, et attention aux ports utilisés entre miroir et Smith , comme sur la capture de mon Portainer tu verras la particularité à modifier les ports externes et pas les internes de tes conteneurs.
On n’en ai pas encore là :smile:

1 Like

Quand je serais plus à l’aise avec docker, je serais intéressée d’apprendre à à monter un smith ou un validator :slightly_smiling_face:.

2 Likes