web-dev-qa-db-fra.com

Je ne parviens pas à exécuter la commande netcat dans le terminal docker bash?

Je suis débutant en docker.
J'ai installé docker-ce sur ma machine ubuntu 18.04 en utilisant la commande
Sudo apt install docker-ce
Dans le cadre d'un didacticiel, j'essaie d'établir une connexion entre les conteneurs en exécutant une série de commandes ci-dessous.

La commande ci-dessous activera les ports 1234/4321 pour écouter le trafic à l'intérieur/à l'extérieur des conteneurs que je vais utiliser.

root@ghost-SVE9999CNS:/home/ghost# docker run --rm -ti -p 1234:1234 -p 4321:4321 --name echo-server ubuntu:18.04 bash

Maintenant, je voulais exécuter les commandes netcat dans le terminal docker bash.

root@xxxyyyyzzzz12:/# nc -lp 1234 | nc -lp 4321

Une fois que j'inovke ci-dessus commande de mon terminal .. Ses erreurs donnant "nc: commande introuvable"

bash: nc: command not found
bash: nc: command not found

Plus tard, j'ai fait suffisamment de recherches et je n'ai jamais trouvé de solution officielle de docker pour ce problème.

S'il vous plaît, quelqu'un pourrait-il m'aider à installer netcat dans docker-ce.
J'ai essayé des commandes comme ci-dessous.

apt-get install netstat
apt-get install nc

Mais pas de chance.

10
Nandan S V

nc n'est pas installé par défaut sur ubuntu:18.04 image, vous devez donc l'installer:

apt-get update && apt-get install -y netcat

apt-get update est nécessaire pour mettre à jour la liste des packages (lorsque le conteneur est démarré, cette liste est vide). Une fois terminé, vous pouvez exécuter nc -lp 1234 du conteneur.

Pour tester tous les travaux comme prévu, vous pouvez alors:

  • exécuter à partir d'un shell (sur votre hôte) quelque chose comme telnet container_ip 1234 ou telnet localhost 1234 (puisque les ports ont été transférés)
  • taper quelque chose
  • regardez la sortie du conteneur pour voir ce que vous avez tapé dans votre shell hôte
17
norbjd