为什么"docker push"推几张图片又在哪里?

use*_*521 8 docker dockerhub

我在docker hub上有私人仓库alek/test.在我的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
Run Code Online (Sandbox Code Playgroud)

刚刚发生了什么?为什么要推几张图片?它们实际上被推到了 - 我在Docker hub(屏幕)上的私人仓库没有任何改变.

在此输入图像描述

我不确定我是否正确理解了docker hub.我想要的是从Dockerfile构建图像并将其推送到我的仓库,使其可供客户端将其拉到他身边并在容器中运行...

Adr*_*uat 5

你理解正确.

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

由于您没有指定标记,Docker将推送存储库中的所有标记(在本例中仅为0.1).有权访问您的存储库的任何人都应该能够下载它docker pull alek/test:0.1.如果查看tags集线器上的选项卡,您应该在那里看到您的图像.

如果你docker push没有标签,我认为它会推动整个回购 - 即所有图像.如果您使用docker rundocker pull不使用标记,它将使用latest标记.所以我认为0.1标签在你的情况下被推,但你需要说docker pull alek/test:0.1拉它.