2016-04-19 14 views
7

waht robię teraz:Docker - Jaki jest właściwy sposób na przebudowanie i przekazanie zaktualizowanego obrazu do chmury dokera?

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 

komenda Budowa:

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 

Po wykonaniu tych kroków obraz repozytorium nie został zaktualizowany. Zawsze pojawia się komunikat "Layer already exists".

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 

Co robię źle?

+0

czy zmieniłeś coś w swoim pliku dockerfile? W przeciwnym razie kompilacja dockera przebuduje ten sam obraz (zrobi to bardzo szybko, ponieważ wszystko istnieje). Po naciśnięciu tego samego obrazu repo wykryje, że wszystkie niezbędne warstwy już istnieją i zmieni wszystko. – lvthillo

+0

@ lorenzvth7 Dockerfile się nie zmienił. Zmieniłem kod aplikacji, który importuje za pomocą opcji "DODAJ"./www/' –

+0

Czy odbudowałeś swój obraz po zmianie kodu w www/folderze? Ponieważ to konieczne. po tym musisz oznaczyć nowy obraz i nacisnąć. – lvthillo

Odpowiedz

4

Znalazłem problem, dzięki @ lorenzvth7!

Otrzymałem dwa obrazy z tym samym tagiem (który pchałem do chmury).

Rozwiązanie to:

  1. Skontroluj swoje obrazy i znaleźć dwa lub więcej z tym samym tagiem:

    docker images 
    
  2. Usuń je:

    docker rmi --force 'image id' 
    
  3. to wszystko! Wykonaj kroki z mojego pytania powyżej.
+3

To wydaje się być bardzo ciężkie dla czegoś, co jest robione regularnie. Czuję, że czegoś brakuje. – sudo

Powiązane problemy