docker使用(图像)版本是什么?

我好奇。 它看起来像git给我,但我找不到确认的来源。 还是它有自己的版本控制系统?

Docker目前不在内部使用git来进行任何types的资源版本控制。 但是:

  • 依靠散列来唯一标识文件系统层:这可以使它像用户一样
  • 以承诺的概念, 推动和拉动最初的灵感

有一件事情使得这个超级显而易见的是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一样 ),而是唯一标识给定的内容。