web-dev-qa-db-fra.com

Comment exécuter wget dans l'image Ubuntu Docker?

J'essaie de télécharger un paquet Debian dans un conteneur Ubuntu comme suit:

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

Je reçois

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

J'ai déjà installé wget avec docker comme suit:

run ubuntu:14.04 apt-get install wget

Comment puis-je télécharger un fichier?

53

Vous devez d'abord l'installer. Créez un nouveau Dockerfile et installez wget dans celui-ci:

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

Ensuite, construisez cette image:

docker build -t my-ubuntu .

Enfin, lancez-le:

docker run my-ubuntu wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.8.2-omnibus.1-1_AMD64.deb
82
Thomas Orozco

J'ai eu ce problème récemment où apt install wget ne trouve rien. Comme il s'avère apt update n'a jamais été exécuté.

    apt update
    apt install wget

Après en avoir discuté avec un collègue, nous nous sommes dit que apt update n'est probablement pas exécuté afin de gagner du temps et de l'espace dans l'image du menu fixe.

16
Lincoln

Si vous exécutez le conteneur ubuntu directement sans fichier Docker local, vous pouvez ssh dans le conteneur et activer le contrôle root en entrant su puis apt-get install -y wget

3
iksnae