如何唯一标识从tar文件导入的docker映像?

时间:2019-04-03 20:12:56

标签: docker docker-compose

我正在将一组docker映像导出到tar文件,以便可以将它们加载到无法直接连接到我的私有docker注册表的机器上。我正在使用docker-compose将正在运行的容器连接在一起。为了确保始终使用创建这些容器所用图像的准确版本,我一直使用容器的sha256摘要而不是特定标签来唯一标识图像。

换句话说,在我的docker-compose文件中,而不是使用标签来标识图像:

image: registry/image:19.1.3

我正在使用sha256摘要:

image: registry/image@sha256:<digest>

但是,当我从tar文件导入docker映像时,摘要未随之提供。这使我无法使用摘要运行图像。我还能使用什么其他唯一标识项(不仅仅是image:tag)来唯一标识该图像的特定实例? Docker映像ID是否足以满足此目的?

1 个答案:

答案 0 :(得分:0)

首先,容器没有版本。图片呢。而且,如果您使用存储库/图像:标签,那就很好了。您可以保存该文件并将其加载到新计算机中。我见过人们做到这一点,所以我保证它会起作用。

您可以检查图像以查看其层:

docker inspect <image>

您可以在保存之前和加载之后进行比较,并且应该得到相同的结果。

如果它仍然对您不起作用,则可以发布您正在使用的完整docker-compose以及其他命令。也许错误在那里。