Docker-Ubuntu-bash: ping: commande introuvable
J'ai un conteneur Docker exécutant Ubuntu que j'ai fait comme suit:
docker run -it ubuntu /bin/bash
Cependant, il ne semble pas avoir ping
. Par exemple
bash: ping: command not found
Dois-je l'installer?
Semble une commande assez basique à manquer. J'ai essayé whereis ping
qui ne rapporte rien.
3 réponses
Les images Docker sont assez minimes, mais vous pouvez installer ping
dans votre image officielle ubuntu Docker via:
apt-get update
apt-get install iputils-ping
Les Chances sont que vous n'avez pas besoin ping
votre image, et que vous voulez juste l'utiliser à des fins de test. Exemple ci-dessus va vous aider.
, Mais si vous avez besoin de ping exister sur votre image, vous pouvez créer un Dockerfile
ou commit
le conteneur que vous avez exécuté les commandes ci-dessus dans une nouvelle image.
Commettre:
docker commit -m "Installed iputils-ping" --author "Your Name <name@domain.com>" ContainerNameOrId yourrepository/imagename:tag
Dockerfile:
FROM ubuntu
RUN apt-get update && apt-get install -y iputils-ping
CMD bash
Veuillez noter qu'il y a les meilleurs pratiques sur la création d'images docker, comme la suppression des fichiers de cache apt après et etc.
Ce {[6] } est la page Docker Hub Pour Ubuntu et CE est la façon dont il est créé. Il n'a (un peu) que des paquets minimaux, donc si vous avez besoin de quelque chose de plus, vous devez l'installer vous-même.
apt-get update && apt-get install -y iputils-ping
Cependant, vous créez généralement un "Dockerfile" et le construisez:
mkdir ubuntu_with_ping
cat >ubuntu_with_ping/Dockerfile <<'EOF'
FROM ubuntu
RUN apt-get update && apt-get install -y iputils-ping
CMD bash
EOF
docker build -t ubuntu_with_ping ubuntu_with_ping
docker run -it ubuntu_with_ping
Veuillez utiliser Google pour trouver des tutoriels et parcourir les fichiers Dockerfiles existants pour voir comment ils font habituellement les choses :) par exemple, la taille de l'image doit être minimisée en exécutant apt-get clean && rm -rf /var/lib/apt/lists/*
après apt-get install
commande.