Docker服务中的Docker容器ID唯一性

时间:2018-10-15 14:12:09

标签: docker containers

我已经阅读了如何为容器分配容器ID:How the docker container id is generated

如何验证Docker ID的唯一性? 在哪个游泳池中独一无二? 在所有退出的,正在运行的,在所有已删除/移除的,在由特定Docker服务创建的所有之中?

我想知道容器ID是否是可重复使用的值,因为它来自一个随机数,一个新容器与另一个容器(退出,删除等)具有完全相同的容器ID的可能性有多大? >

另一个相对问题:https://forums.docker.com/t/docker-container-id-uniqueness/5253

更新:能否请您指出验证该容器ID是否已存在的代码以创建一个新的代码?

1 个答案:

答案 0 :(得分:1)

在给定的docker主机中,该ID在当前存在的所有容器(包括退出和创建的容器)中必须是唯一的。删除后,引擎将不再跟踪容器ID。容器可能会重复使用与以前存在的容器相同的容器ID,但是可能性很小。

完整ID是一个64个字符的十六进制字符串,它给出16 ^ 64个可能的排列(如果我的计算器正确,则为115792089237316195195423570985008687907853269984665640564039457584007913129639936)。如果仅跟踪短ID,则为12个字符的十六进制字符串,排列顺序为16 ^ 12(281,474,976,710,656)。如果您创建了大量的容器,并且需要历史地和唯一地进行跟踪,那么您可能要使用完整的容器ID。