我正在使用基于nginx
的图片dockerfile/ubuntu
。在附加到docker容器的shell
docker exec -it <container_id> /bin/bash
我想要git pull
,所以我尝试安装git
,但apt
无法找到包裹:
root@a71e45d5cd40:/# apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package git
我们如何从该图片中安装git
,为什么会丢失?
cat /etc/apt/sources.list
deb http://httpredir.debian.org/debian wheezy main
deb http://httpredir.debian.org/debian wheezy-updates main
deb http://security.debian.org wheezy/updates main
deb http://nginx.org/packages/mainline/debian/ wheezy nginx
cat /etc/apt/sources.list.d / *
cat: /etc/apt/sources.list.d/*: No such file or directory
apt-cache madison git
N: Unable to locate package git
答案 0 :(得分:79)
这种情况正在发生,因为apt存储库尚未更新,通常的做法是在创建基本映像可能正在执行的映像后清理apt存储库和tmp文件。
要解决此问题,您需要在安装git之前运行apt-get update
,如果安装行更改,最好将更新和安装命令同时组合到更新上的缓存中:
RUN apt-get update && apt-get install -y git
使用-y
可以方便地对所有问题自动回答“是”。