我使用的图像nginx是基于dockerfile/ubuntu。在附加到Docker容器的外壳上
nginx
dockerfile/ubuntu
docker exec -it <container_id> /bin/bash
我想这样做,git pull所以我尝试安装git但apt无法找到该软件包:
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从该映像进行安装,为什么会丢失它?
猫/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
猫/etc/apt/sources.list.d/*
cat: /etc/apt/sources.list.d/*: No such file or directory
apt-cache麦迪逊git
N: Unable to locate package git
发生这种情况是因为apt储存库尚未更新,通常的做法是在创建映像后清理apt储存库和tmp文件,而基本映像可能正在执行此操作。
要解决此问题,您将要apt-get update在安装git之前运行,如果安装行更改,则最好同时结合使用update和install命令以破坏更新上的缓存,这是一个好习惯:
apt-get update
RUN apt-get update && apt-get install -y git
使用可以-y很方便地自动回答所有问题。
-y