为什么“docker推”推几个图像,在哪里?

我有一个名为alek/testdocker中心的私人回购。 在我的Mac上:

 $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE alek/test 0.1 dc1a7cc41129 33 minutes ago 643 MB node 0.12.7 9e20baae42c8 5 days ago 641.6 MB $ docker push alek/test The push refers to a repository [docker.io/alek/test] (len: 1) dc1a7cc41129: Image successfully pushed 537a913fe639: Image successfully pushed b40236e9037f: Image successfully pushed 53c8b1d50397: Image successfully pushed e8c37c1e2189: Image successfully pushed 68bbfd9543a7: Image successfully pushed 9e20baae42c8: Image already exists 8b74d7a75802: Image successfully pushed 3383909e8f95: Image already exists e0919a8b95a8: Image already exists 6ad0799af6bd: Image successfully pushed 9213e81cb0f2: Image successfully pushed 607e965985c1: Image successfully pushed 1ff9f26f09fb: Image successfully pushed 9a61b6b1315e: Image already exists 902b87aaaec9: Image successfully pushed 0.1: digest: sha256:a2b1d8a3b283f13e8d6a1407e886ca8ee62d93377949e050b9e05509ce6aaf86 size: 30568 

发生了什么? 为什么有几个图像被推送? 另外,他们实际上推 – 没有什么改变在docker集线器(屏幕)上的私人回购。

在这里输入图像说明

我不知道如果我正确理解docker中心。 我想要的是从Dockerfile构build图像,并将其推送到我的回购,使其可供客户端拉他的一边,并在容器中运行…

你理解正确。

图像中的每个图层都有一个图像,对应于Dockerfile中的每个指令。 Docker独立推送这些图层。

由于您没有指定标签,因此Docker将推送存储库中的所有标签(在本例中仅为0.1)。 任何有权访问你的仓库的人都应该可以用docker pull alek/test:0.1下载它。 如果您查看Hub上的tags选项卡,则应该在该处看到您的图像。

如果你做一个没有标签的docker push ,我认为它推动了整个回购 – 即所有的图像。 如果你做docker rundocker pull没有标签,它会使用latest标签。 所以我假设0.1标签被推到你的案例中,但是你需要说docker pull alek/test:0.1来拉它。