Git docker使用什么进行(图像)版本控制?
我很好奇。对我来说,它看起来像git,但我找不到证实这一点的来源。或者它有自己的版本控制系统吗?Docker目前在内部没有将git用于任何类型的资源版本控制。然而,它确实:Git docker使用什么进行(图像)版本控制?,git,docker,Git,Docker,我很好奇。对我来说,它看起来像git,但我找不到证实这一点的来源。或者它有自己的版本控制系统吗?Docker目前在内部没有将git用于任何类型的资源版本控制。然而,它确实: 依靠散列来唯一地标识文件系统层:这就是让用户觉得它像git的原因 从概念上获得初步灵感,以及 这一点非常明显的一点是docker history命令,该命令将显示组成图像的所有连续“提交”(即操作),每个操作都有一个单独的散列: $ docker history dev IMAGE CREAT
- 依靠散列来唯一地标识文件系统层:这就是让用户觉得它像git的原因
- 从概念上获得初步灵感,以及
docker history
命令,该命令将显示组成图像的所有连续“提交”(即操作),每个操作都有一个单独的散列:
$ 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
最后要注意的是Docker正在向内容寻址层移动,因此这些散列不是随机生成的(就像git一样),而是唯一地标识给定内容。图像版本控制或
Dockerfile
版本控制?或者您对docker registry server进行图像版本控制的问题?在Git的SHA-1哈希的创建中没有随机元素。它们基于提交的内容,包括树id(即文件的内容)、作者姓名、作者日期、提交者姓名、提交者日期和父提交id。