2016-04-19 13 views
7

il livello qualitativo che sto facendo ora:Docker - Qual è il modo corretto di ricostruire e inviare un'immagine aggiornata al docker cloud?

Dockerfile:

FROM python:3.5.1 

ENV PYTHONUNBUFFERED 1 

RUN mkdir /www 
WORKDIR /www 
ADD deps.txt /www/ 
RUN pip3 install -r deps.txt 
ADD . /www/ 
RUN chmod 0755 /www/docker-init.sh 

comando build:

docker build -t my-djnago-app:latest . 

Tagging:

docker tag my-djnago-app:latest lolorama/my-djnago-app-img:latest 

Pushing:

docker push lolorama/my-djnago-app-img:latest 

Dopo questi passaggi, l'immagine del repository non è stata aggiornata. Ricevo sempre il messaggio "Il livello esiste già".

The push refers to a repository [docker.io/lolorama/my-django-app-img] 
fd5aa641b308: Layer already exists 
d9c60c6f98e8: Layer already exists 
d9d14867f6d7: Layer already exists 
64ce166099ca: Layer already exists 
73b670e35c69: Layer already exists 
5f70bf18a086: Layer already exists 
9ea142d097a5: Layer already exists 
52f5845b1de0: Layer already exists 
e7fadb3ab9d4: Layer already exists 
cef72744de05: Layer already exists 
591569fa6c34: Layer already exists 
998608e2fcd4: Layer already exists 
c12ecfd4861d: Layer already exists 

Cosa sto facendo male?

+0

hai modificato qualcosa nel tuo file docker? Altrimenti la build della finestra mobile ricostruirà la stessa immagine (questo andrà molto velocemente perché tutto esiste). Quando si preme la stessa immagine, il repository rileverà che tutti i livelli necessari esistono già e cambieranno qualsiasi cosa. – lvthillo

+0

@ lorenzvth7 Dockerfile non è cambiato. Ho modificato il codice dell'app che importa con 'ADD./www/' –

+0

Hai ricostruito l'immagine dopo aver cambiato la modifica del codice nella cartella www/cartella? Perché è necessario. dopodiché devi taggare la nuova immagine e spingere. – lvthillo

risposta

4

Ho trovato il problema, grazie a @ lorenzvth7!

Ho avuto due immagini con lo stesso tag (che stavo spingendo al cloud).

Solution è:

  1. Controllare le immagini e trovare due o più con lo stesso tag:

    docker images 
    
  2. cancellarle:

    docker rmi --force 'image id' 
    
  3. questo è tutto! Segui i passaggi dalla mia domanda sopra.
+3

Questo sembra davvero pesante per qualcosa che viene fatto regolarmente. Mi sembra che ci manchi qualcosa. – sudo

Problemi correlati