¿Cómo ejecutar wget dentro de la imagen de Ubuntu Docker?

86

Estoy intentando descargar un paquete de Debian dentro de un contenedor de Ubuntu de la siguiente manera:

sudo docker run ubuntu:14.04 wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.8.2-omnibus.1-1_amd64.deb

yo obtengo

exec: "wget": executable file not found in $PATH

Ya lo instalé wgetcon Docker de la siguiente manera:

run ubuntu:14.04 apt-get install wget

¿Cómo puedo descargar un archivo?

Marian Klühspies
fuente

Respuestas:

124

Primero debes instalarlo. Cree un nuevo Dockerfilee instale wget en él:

FROM ubuntu:14.04
RUN  apt-get update \
  && apt-get install -y wget \
  && rm -rf /var/lib/apt/lists/*

Luego, construye esa imagen:

docker build -t my-ubuntu .

Finalmente, ejecútelo:

docker run my-ubuntu wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.8.2-omnibus.1-1_amd64.deb
Thomas Orozco
fuente
12
@ Nachbar90 Cada docker runcomando se ejecuta en un contenedor aislado, por lo que lo que haya instalado en el primer contenedor no estará presente en el segundo contenedor. Probablemente debería leer un poco más sobre qué son los contenedores y cómo funcionan.
Thomas Orozco
1
¿Cómo puede reenviar el archivo de resultados de la última ejecución a su sistema de archivos local?
hhh
Funciona bien pero quería preguntar sobre la versión del paquete. De lo contrario, no pasa la pelusa de la ventana acoplable.
ishmam999
33

Recientemente tuve este problema donde apt install wgetno encuentro nada. Resulta que apt updatenunca se ejecutó.

apt update
apt install wget

Después de discutir esto con un compañero de trabajo, pensamos que apt updateprobablemente no se ejecute para ahorrar tiempo y espacio en la imagen de la ventana acoplable.

Lincoln
fuente
había instalado el contenedor docker ubuntu simplemente haciendo docker pulll ubuntu y luego en bash, obtuve un "problema de apt no encontrado". Esto funcionó para mí .gracias
veritas
5

Si está ejecutando el contenedor ubuntu directamente sin un Dockerfile local, puede ingresar al contenedor y habilitar el control de raíz ingresando suluegoapt-get install -y wget

iksnae
fuente