xenial not instalar found ubuntu docker ping

not - Docker-Ubuntu-bash: ping: comando no encontrado



solaris ping command not found (5)

Tengo un contenedor Docker que ejecuta Ubuntu, que hice de la siguiente manera:

docker run -it ubuntu /bin/bash

Sin embargo, no parece tener ping . P.ej

bash: ping: command not found

¿Necesito instalar eso?

Parece que falta un comando bastante básico. Intenté whereis ping que no informa nada.


Alternativamente, puede usar una imagen Docker que ya tiene ping instalado, por ejemplo busybox :

docker run --rm busybox ping SERVER_NAME -c 2


Cada vez que tienes este tipo de error

bash: <command>: command not found

  • En un host con ese comando que ya funciona con esta solución :

    dpkg -S $(which <command>)

  • ¿No tiene un host con ese paquete instalado? Intenta esto :

    apt-file search /bin/<command>


En general, las personas obtienen la imagen oficial de Ubuntu / CentOS, pero no se dan cuenta de que estas imágenes son mínimas y no tienen nada encima.

Para Ubuntu, esta imagen está construida a partir de tarballs rootfs oficiales proporcionados por Canonical. Dado que es una instalación mínima de Ubuntu, esta imagen solo incluye las configuraciones regionales C, C.UTF-8 y POSIX de forma predeterminada.

Uno puede instalar net-tools (incluye ifconfig, netstat), ip-utils (incluye ping) y otros me gusta curl, etc. en el contenedor y puede crear una imagen desde el contenedor o puede escribir Dockerfile que instalará estas herramientas mientras crea la imagen.

A continuación se muestra el ejemplo de Dockerfile, al crear una imagen a partir de esto, incluirá estas herramientas:

FROM vkitpro/ubuntu16.04 RUN apt-get update -y / && apt-get upgrade -y / && apt-get install iputils-ping -y / && apt-get install net-tools -y / CMD bash

o inicie el contenedor desde la imagen base e instale estas utilidades en el contenedor y luego confirme la imagen. docker commit -m "cualquier mensaje descriptivo" id_contenedor nombre_imagen: lattest

Esa imagen tendrá todo instalado.


Las imágenes de Docker son bastante mínimas, pero puede instalar ping en su imagen oficial de Docker de Ubuntu a través de:

apt-get update apt-get install iputils-ping

Es probable que no necesite hacer ping su imagen, y solo quiera usarla para fines de prueba. El ejemplo anterior te ayudará.

Pero si necesita que exista ping en su imagen, puede crear un Dockerfile o commit el contenedor en el que ejecutó los comandos anteriores en una nueva imagen.

Cometer:

docker commit -m "Installed iputils-ping" --author "Your Name <[email protected]>" ContainerNameOrId yourrepository/imagename:tag

Dockerfile:

FROM ubuntu RUN apt-get update && apt-get install -y iputils-ping CMD bash

Tenga en cuenta que existen prácticas recomendadas para crear imágenes acoplables, como borrar archivos de caché apt después, etc.


This es la página de Docker Hub para Ubuntu y this es como se crea. Solo tiene (mínimo) paquetes mínimos instalados, por lo tanto, si necesita algo adicional, debe instalarlo usted mismo.

apt-get update && apt-get install -y iputils-ping

Sin embargo, generalmente crearía un "Dockerfile" y lo crearía:

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

Utilice Google para buscar tutoriales y examinar los Dockerfiles existentes para ver cómo suelen hacer las cosas :) Por ejemplo, el tamaño de la imagen debe minimizarse ejecutando apt-get clean && rm -rf /var/lib/apt/lists/* después de apt-get install comandos