2015-06-11 1 views

Odpowiedz

5

Docker nie używa dziś git dla żadnego rodzaju wersjonowania zasobów. Czyni jednak:

  • polegać na mieszania do jednoznacznej identyfikacji warstw systemu plików: to jest to, co może sprawić, że przypominają git użytkownikowi
  • Take początkowej inspiracji w pojęciu commit, pushes i pulls

Jedną rzeczą, która sprawia, że ​​to bardzo oczywiste jest polecenie docker history że pokaże wszystkie kolejne „zobowiązuje” (czyli operacji), które składają się na obraz, każdy z indywidualnym hash:

$ docker history dev 
IMAGE    CREATED    CREATED BY          SIZE       COMMENT 
437e07e119e1  11 minutes ago  /bin/sh -C#(nop) COPY dir:3c72cf7559b6aeff6b 80.23 MB      
92b739339069  7 hours ago   /bin/sh -C#(nop) ENTRYPOINT &{["hack/dind"]} 0 B       
07ed6f8a66d7  7 hours ago   /bin/sh -c set -x  && git clone https://gi 4.462 MB      
0a7eacf986e3  7 hours ago   /bin/sh -C#(nop) ENV RSRC_COMMIT=e48dbf1b7fc 0 B       
41478ca01b73  7 hours ago   /bin/sh -c set -x        && export GOPATH="$(mktemp 2.689 MB    
070d4d30261e  7 hours ago   /bin/sh -C#(nop) ENV TOMLV_COMMIT=9baf8a8a9f 0 B       
e75c29475d7a  7 hours ago   /bin/sh -c set -x        && export GOPATH="$(mktemp 3.227 MB    
857a0ec21751  7 hours ago   /bin/sh -c ./contrib/download-frozen-image.sh 3.59 MB      
e936f5546782  7 hours ago   /bin/sh -C#(nop) COPY file:5d664ff5e9669851c 3.866 kB      
0d12674bd0af  7 hours ago   /bin/sh -c ln -sv $PWD/contrib/completion/bas 0 B       
ef858f6d9027  7 hours ago   /bin/sh -c ln -sfv $PWD/.bashrc ~/.bashrc  0 B       
287721a0a2b6  7 hours ago   /bin/sh -C#(nop) ENV DOCKER_BUILDTAGS=apparm 0 B       

Ostatnią rzeczą, na którą należy zwrócić uwagę, jest to, że Docker porusza się w kierunku warstw adresowanych do zawartości, więc te krzyżyki nie są generowane losowo ( , podobnie jak git, to jest ), ale jednoznacznie identyfikują daną treść.

+1

Nie ma elementu losowego w tworzeniu skrótów Git SHA-1. Są one oparte na zawartości zatwierdzenia, w tym identyfikatorze drzewa (tj. Zawartości plików), nazwisku autora, dacie autora, nazwie zleceniodawcy, dacie zleceniodawcy i identyfikatorze nadrzędnego zatwierdzenia. –

+0

@ MagnusBäck Codziennie uczysz się czegoś! Dzięki :-) – icecrime