2014-10-05 10 views
17

Sono nuovo nella finestra mobile e inizio a giocare con esso. Ho creato alcune immagini da alcune modifiche. introduttiva diCome visualizzare il messaggio di commit dalle immagini docker

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

facendo un paio di installazioni, usciti e ha fatto

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

e ripetendo il processo

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

fare cose in gusci, uscendo e

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

Ora voglio tornare a un'immagine del passaggio precedente e vorrei elencare tutti i messaggi facendo un tipo di comando sudo docker image -m simile a uno git log. Qual'è il miglior modo di farlo?

+0

Si potrebbe guardare in aggiunta tuo account per l'elenco degli utenti della finestra mobile. Quindi non è necessario continuare a digitare sudo. https://gist.github.com/aluedeke/7977839#file-gistfile1-sh –

+0

Grazie per la risposta e il suggerimento. Non riesco a trovarmi correttamente nel gruppo Docker. eseguito da root: 'gpasswd yves docker'. '/ etc/group' è stato modificato correttamente ma quando eseguo un' docker ps -a' ottengo 'Get http: ///var/run/docker.sock/v1.12/containers/json? all = 1: componi unix /var/run/docker.sock: permesso negato' –

+0

Ho usato 'sudo gpasswd -a finestra mobile USER' # sostituisci USER con il tuo nome utente su Ubuntu14.04 e funziona per me. Devi anche riavviare la finestra mobile del servizio sudo. Potresti anche provare a riavviare il sistema e vedere se questo aiuta. –

risposta

16

È possibile visualizzare i messaggi di commit utilizzando la finestra mobile ispezionare l'hash di commit visualizzato in seguito. Per vederne di più devi farlo in modo ricorsivo.

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

informazioni Trovato here

Ciò permetterà di visualizzare i messaggi per i primi 3 più recenti commenti.

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

Per rendere le cose semplici, ho fatto un semplice script bash in 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 per l'uso:

enter image description here

+2

Grazie per quello. Ma per essere chiari: non esiste un modo integrato per elencare i commit di un'immagine docker ?! – Anto

4

È possibile utilizzare il comando storia finestra mobile:

$ docker history <image hash> 

Esempio di output:

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

Quando eseguo la 'cronologia docker ', non ottengo la colonna COMMENTO. Mi chiedo perché sia ​​così. –

+0

È una nuova funzionalità? Funziona per me, è una riga, sembra rispondere alla domanda, e utilizza solo la mia installazione docker (credo standard) ... ma ha avuto solo un voto. –

+0

Questa funzione è stata lì per un po '. – Vasily802

Problemi correlati