2014-10-05 17 views
17

Jestem nowy w doku i zaczynam z nim grać. Utworzyłem kilka zdjęć po wprowadzeniu kilku zmian. kroki zJak wyświetlić komunikat zatwierdzenia ze zdjęć w docku

sudo docker run -i -t ubuntu /bin/bash 

robi kilka instaluje wyszedł i zrobił

sudo docker commit -m="my first message" innocent_dockernovice sandbox/yves:s1 

i repeting proces

sudo docker run -i -t sandbox/yves:sN /bin/bash 

robi rzeczy w muszli, zamykanie i

sudo docker commit -m="what I did in step N" happy_dockeruser sandbox/yves:sN+1 

Teraz chcę wrócić do obrazu poprzedniego kroku i chciałbym wyświetlić wszystkie komunikaty wykonujące polecenie w rodzaju sudo docker image -m, podobne do tego, które jest podobne do . Jaki jest najlepszy sposób na zrobienie tego?

+0

Możecie zajrzeć do dodawania konta do listy użytkowników Döcker. Więc nie musisz ciągle pisać sudo. https://gist.github.com/aluedeke/7977839#file-gistfile1-sh –

+0

Dziękuję za odpowiedź i napiwek. Nie udaje mi się dobrze dostać w grupie doków. pobiegł z katalogu root: 'gpasswd yves docker'. '/ etc/group' jest poprawnie zmodyfikowany, ale gdy pod moim kontem uruchamiam' docker ps -a', otrzymuję 'Get http: ///var/run/docker.sock/v1.12/containers/json? all = 1: dial unix /var/run/docker.sock: permission denied' –

+0

Użyłem 'sudo gpasswd -a USER docker' # zamień USER na twoją nazwę użytkownika na Ubuntu14.04 i działa dla mnie. Musisz również uruchomić 'sudo service docker restart'. Możesz również spróbować ponownie uruchomić system i sprawdzić, czy to pomaga. –

Odpowiedz

16

Możesz wyświetlać komunikaty dotyczące commitów, korzystając z inspekcji w oknie dokowanym na wyświetlonym haszowaniu zatwierdzenia. Aby zobaczyć więcej z nich, musisz zrobić to rekurencyjnie.

$ docker commit -m "added test file" sick_morse 
61efdbd141dc5fb1c289ed5151f3ce7b5985a5829bd92ba322ad6061cb1eee21 
$ docker inspect 61efdbd141dc5fb1c289ed5151f3ce7b5985a5829bd92ba322ad6061cb1eee21 | grep added 
    "Comment": "added test file", 

Znaleziony informacji here

To pozwala przeglądać wiadomości dla 3 najlepszych ostatnich komentarzach.

$ docker images -a --no-trunc | head -n4 | grep -v "IMAGE ID" | awk '{ print $3 }' | xargs docker inspect | grep Comment 
15

Aby dokonać rzeczy proste, zrobiłem prosty skrypt bash w github GIST: docker-log

#!/usr/bin/env bash 

DOCKER=`which docker` 

if [ "$#" -ne 1 ]; then 
    echo "Usage: $0 IMAGE" 
    exit 0 
fi 

for commit in $($DOCKER history $1 | sed 1d | awk '{ print $1 }') 
do 
    content="$commit 
$($DOCKER inspect $commit | tr -d '\"' | grep 'Created\|Author\|Comment')" 
    echo "$content" 
done 

Snapshot do użytku:

enter image description here

+2

Dzięki za to. Ale dla jasności: nie ma wbudowanego sposobu, aby wyświetlić listę zatwierdzeń obrazu dokera?! – Anto

4

Można użyć polecenia Historia doker:

$ docker history <image hash> 

Przykładowe wyjście:

IMAGE    CREATED    CREATED BY  SIZE   COMMENT 
02c473b152e3  9 days ago   /bin/bash   1.577 kB  modified init.sh 
39a27fe266c4  9 days ago   /bin/bash   1.472 kB  modified init.sh 
1a8dae63b9fe  9 days ago   /bin/bash   1.457 kB  modified init.sh 
+0

Po zrobieniu 'historii dokowanej ', nie dostaję kolumny UWAGI. Zastanawiam się, dlaczego tak jest. –

+0

Czy to nowa funkcja? Działa to dla mnie, jest jedną linią, wydaje się odpowiadać na pytanie i używa tylko mojej (chyba standardowej) instalacji dokujcej ... ale miał tylko jeden głos. –

+0

Ta funkcja była tam przez pewien czas. – Vasily802

Powiązane problemy