Ошибка Docker: невозможно найти пакет git

Я использую изображение nginx, основанное на dockerfile/ubuntu. При прикреплении к оболочке контейнера докера

docker exec -it <container_id> /bin/bash

Я хочу сделать git pull, поэтому я попытался установить git, но apt не смог найти пакет:

[email protected]:/# 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

Ответ 1

Это происходит потому, что apt-репозиторий еще не обновлен, обычно рекомендуется очищать ваши apt-репозитории и tmp файлы после создания изображения, которое, вероятно, делает ваше базовое изображение.

Чтобы исправить это, вы захотите запустить apt-get update перед установкой git, рекомендуется одновременно комбинировать команду обновления и установки, чтобы сбросить кеш при обновлении, если строка установки изменится

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

С помощью -y удобно автоматически отвечать на "да" на все вопросы.