2015-03-05 4 views
28

Я пытаюсь загрузить пакет Debian внутри контейнера Ubuntu следующим образом:Как запустить wget внутри изображения Ubuntu Docker?

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 

я

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

Я уже установил wget с грузчиком следующим образом:

run ubuntu:14.04 apt-get install wget 

Как загрузить файл?

ответ

40

Необходимо сначала установить его. Создать новую Dockerfile и установите Wget в нем:

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

Затем построить этот образ:

docker build -t my-ubuntu . 

Наконец, запустите его:

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

@ Nachbar90 Каждая команда 'docker run' запускается в изолированном контейнере, поэтому все, что вы установили в первом контейнере, не будет присутствовать во втором контейнере. Вероятно, вы должны немного узнать о том, какие контейнеры и как они работают. –

1

Если вы работаете в Ubuntu контейнер напрямую без локального файла Dockerfile вы можете ввести ssh в контейнер и включить управление корнем, введя su, затем apt-get install -y wget

4

У меня была эта проблема в последнее время, когда apt install wget ничего не нашел. Как оказалось, apt update никогда не запускался.

apt update 
    apt install wget 

После обсуждения этого с сотрудником мы размышляли, что apt update, скорее всего, не работает в целях экономии времени и пространства в Докер изображении.