使用Docker在Ubuntu映像中安装库

我试图在我的ubuntu:14.04镜像中安装'sl'软件包。 以下是我的Dockerfile的内容:

FROM ubuntu:14.04 MAINTAINER xyz <xyz@gmail.com> RUN echo 'Going to install sl now' RUN apt-get install -y sl 

这是我用来build立图像的命令:

 sudo docker build -t xyz/ubuntu:14.04 . 

但是我收到这个错误消息:

 Sending build context to Docker daemon 2.048 kB Sending build context to Docker daemon Step 0 : FROM ubuntu:14.04 ---> d0955f21bf24 Step 1 : MAINTAINER xyz <xyz@gmail.com> ---> Using cache ---> a6e08926e788 Step 2 : RUN echo 'Going to install sl now' ---> Using cache ---> 1bf0bc6b3092 Step 3 : RUN apt-get install -y sl ---> Running in f7e57167443f Reading package lists... Building dependency tree... Reading state information... E: Unable to locate package sl INFO[0004] The command [/bin/sh -c apt-get install -y sl] returned a non-zero code: 100 

我哪里错了?

你需要运行apt-get update例如:

 RUN apt-get update && apt-get install -y sl 

你也可以自己整理一下,以节省一些磁盘空间:

 RUN apt-get update && apt-get install -y sl && rm -r /var/lib/apt/lists/* 

在安装任何其他软件包之前,您需要更新本地ubuntu存储库中的索引。 正确的做法是:

 RUN apt-get update RUN apt-get install -y <package-name> 

正如阿德里安在回答中所提到的,删除下载列表可以用来保存磁盘上的一些空间。 当您将图像推回集线器时,这特别有用。