2015-04-28 26 views
11

Sto utilizzando un'immagine nginx basata su dockerfile/ubuntu. Sul collegamento alla scocca del contenitore finestra mobileErrore Docker: impossibile trovare il pacchetto git

docker exec -it <container_id> /bin/bash 

voglio fare un git pull così ho provato a installare git ma apt non riesce a trovare il pacchetto:

[email protected]:/# apt-get install git 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
E: Unable to locate package git 

Come possiamo installare git da quell'immagine e perché manca?


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 

gatto /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

'root @ ....' sei già un super utente, quindi sudo non esiste afaik. – Sean

+0

@SeanKenny grazie, fammi riformulare la domanda – Nyxynyx

+1

mostra 'cat/etc/apt/sources.list',' cat/etc/apt/sources.list.d/* 'e' apt-cache madison git' per la diagnostica. –

risposta

29

Ciò accade perché il repository apt non è ancora aggiornato, è prassi comune pulire i repository apt ei file tmp dopo aver creato un'immagine, che probabilmente sta facendo l'immagine di base.

Per risolvere questo problema, si sta andando a voler correre apt-get update prima di installare git, è buona norma abbinare l'aggiornamento e l'installazione dei comandi allo stesso tempo di busto della cache L'aggiornamento e se la linea di installazione cambia:

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

L'utilizzo di -y è utile per rispondere automaticamente a tutte le domande.

+0

Grazie funziona! A proposito, come puliamo i file apt repo e tmp se vogliamo creare una nuova immagine? – Nyxynyx

+0

Alla fine del tuo Dockerfile, qualcosa del tipo: 'RUN apt-get clean && rm -rf/var/lib/apt/liste/*/tmp/*/var/tmp/*' – Michael

+0

Solo una nota qui, pulizia i repository non aiutano la dimensione dell'immagine a meno che non si pulisca sullo stesso livello (comando) che si aggiungono i file. btrfs memorizzerà i livelli con tutti i file – Michael

Problemi correlati