如何在Ubuntu Docker镜像中运行wget?

Mar*_*ies 59 ubuntu wget docker

我正在尝试在Ubuntu容器中下载Debian软件包,如下所示:

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
Run Code Online (Sandbox Code Playgroud)

我明白了

exec: "wget": executable file not found in $PATH
Run Code Online (Sandbox Code Playgroud)

我已经安装wget了docker,如下所示:

run ubuntu:14.04 apt-get install wget
Run Code Online (Sandbox Code Playgroud)

我该如何下载文件?

Tho*_*zco 89

您需要先安装它.创建一个新的Dockerfile,并在其中安装wget:

FROM ubuntu:14.04
RUN  apt-get update \
  && apt-get install -y wget \
  && rm -rf /var/lib/apt/lists/*
Run Code Online (Sandbox Code Playgroud)

然后,构建该图像:

docker build -t my-ubuntu .
Run Code Online (Sandbox Code Playgroud)

最后,运行它:

docker run my-ubuntu wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.8.2-omnibus.1-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

  • @ Nachbar90每个`docker run`命令都在一个独立的容器中运行,因此,无论你在第一个容器中安装的是什么,都不会出现在第二个容器中.您可能应该阅读更多关于容器是什么以及它们如何工作的内容. (10认同)
  • 嗨@ThomasOrozco。为什么要删除此文件夹 /var/lib/apt/lists ? (2认同)

Lin*_*oln 16

我最近遇到了这个问题,哪里apt install wget找不到任何东西.事实证明apt update从未运行过.

    apt update
    apt install wget
Run Code Online (Sandbox Code Playgroud)

在与同事讨论这个问题后apt update,为了节省码头图像中的时间和空间,我们认为可能不会运行.


iks*_*nae 5

如果你没有本地Dockerfile直接运行Ubuntu的容器,你可以通过SSH进入容器中,通过输入使根控制suapt-get install -y wget