use*_*589 78 image web-crawler docker
出于研究目的,我正在尝试抓取公共Docker注册表(https://registry.hub.docker.com/)并找出1)平均图像有多少层,以及2)这些层的大小以获得分配的想法.
但是我研究了API和公共库以及github上的细节,但是我找不到任何方法:
任何人都可以帮我找到检索此信息的方法吗?
谢谢!
编辑:是否有人能够验证在Docker注册表中搜索'*'是否返回所有存储库而不是任何在任何地方提到'*'的东西?https://registry.hub.docker.com/search?q=*
Vis*_*esn 68
您可以在/ var/lib/docker/aufs/layers文件夹中找到图像的图层; 如果您将存储驱动程序配置为aufs(默认选项),则提供
例:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ca502fa6aae ubuntu "/bin/bash" 44 minutes ago Exited (0) 44 seconds ago DockerTest
Run Code Online (Sandbox Code Playgroud)
现在查看使用图像"Ubuntu"创建的容器层; 转到/ var/lib/docker/aufs/layers目录,cat文件以容器ID开头(这里是0ca502fa6aae*)
root@viswesn-vm2:/var/lib/docker/aufs/layers# cat 0ca502fa6aaefc89f690736609b54b2f0fdebfe8452902ca383020e3b0d266f9-init
d2a0ecffe6fa4ef3de9646a75cc629bbd9da7eead7f767cb810f9808d6b3ecb6
29460ac934423a55802fcad24856827050697b4a9f33550bd93c82762fb6db8f
b670fb0c7ecd3d2c401fbfd1fa4d7a872fbada0a4b8c2516d0be18911c6b25d6
83e4dde6b9cfddf46b75a07ec8d65ad87a748b98cf27de7d5b3298c1f3455ae4
Run Code Online (Sandbox Code Playgroud)
这将通过运行显示相同的结果
root@viswesn-vm2:/var/lib/docker/aufs/layers# docker history ubuntu
IMAGE CREATED CREATED BY SIZE COMMENT
d2a0ecffe6fa 13 days ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
29460ac93442 13 days ago /bin/sh -c sed -i 's/^#\s*\ (deb.*universe\)$/ 1.895 kB
b670fb0c7ecd 13 days ago /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic 194.5 kB
83e4dde6b9cf 13 days ago /bin/sh -c #(nop) ADD file:c8f078961a543cdefa 188.2 MB
Run Code Online (Sandbox Code Playgroud)
查看完整的图层ID; 使用--no-trunc选项作为history命令的一部分运行.
docker history --no-trunc ubuntu
Run Code Online (Sandbox Code Playgroud)
Yuc*_*uci 28
这是一篇关于Docker Image的Show Layers的好文章
您可以先找到图片ID:
$ docker images -a
Run Code Online (Sandbox Code Playgroud)
然后找到它的图层和大小:
$ docker history --no-trunc <Image ID>
Run Code Online (Sandbox Code Playgroud)
注意:我使用的是Docker 1.13.1版
$ docker -v
Docker version 1.13.1, build 092cba3
Run Code Online (Sandbox Code Playgroud)
030*_*030 14
我认为docker history <image>就足够了。这将返回每个图层的大小:
$ docker history jenkinsci-jnlp-slave:2019-1-9c
IMAGE CREATED CREATED BY SIZE COMMENT
93f48953d298 42 min ago /bin/sh -c #(nop) USER jenkins 0B
6305b07d4650 42 min ago /bin/sh -c chown jenkins:jenkins -R /home/je… 1.45GB
Run Code Online (Sandbox Code Playgroud)
sun*_*cmf 10
他们在这里有一个非常好的答案:https: //stackoverflow.com/a/32455275/165865
只需在图片下方运行:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nate/dockviz images -t
Run Code Online (Sandbox Code Playgroud)
这将检查docker图像并打印图层:
$ docker image inspect nginx -f '{{.RootFS.Layers}}'
[sha256:d626a8ad97a1f9c1f2c4db3814751ada64f60aed927764a3f994fcd88363b659 sha256:82b81d779f8352b20e52295afc6d0eab7e61c0ec7af96d85b8cda7800285d97d sha256:7ab428981537aa7d0c79bc1acbf208c71e57d9678f7deca4267cc03fba26b9c8]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70043 次 |
| 最近记录: |