Jestem ciekawy. Dla mnie wygląda jak git, ale nie mogę znaleźć źródeł, które to potwierdzają. A może ma własny system kontroli wersji?Do czego służy okno dokowane dla wersji (obrazu)?
Odpowiedz
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ść.
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. –
@ MagnusBäck Codziennie uczysz się czegoś! Dzięki :-) – icecrime
wersjonowanie obrazu lub wersjonowanie 'Dockerfile'? Lub pytanie dotyczące serwera rejestru dokerów do wersji obrazu? – BMW