• container-diff 谷歌开源镜像分析工具使用


    1. 安装
    curl -LO https://storage.googleapis.com/container-diff/latest/container-diff-linux-amd64 && chmod +x container-diff-linux-amd64 && sudo mv container-diff-linux-amd64 /usr/local/bin/container-diff
    
    备注:
     安装的时候是在阿里云的机器,但是就是网络不通,最简单的方法是先下载在上传阿里云服务器
     storage.googleapis.com国内 还是可以使用的
    2. 命令
    a.全部
    
    sage:
      container-diff [command]
    
    Available Commands:
      analyze     Analyzes an image: [image]
      diff        Compare two images: [image1] [image2]
      help        Help about any command
      version     Print the version of container-diff
    
    Flags:
      -h, --help               help for container-diff
      -v, --verbosity string   This flag controls the verbosity of container-diff. (default "warning")
    
    b. analyze
    
    Usage:
      container-diff analyze [flags]
    
    Flags:
      -h, --help              help for analyze
      -j, --json              JSON Output defines if the diff should be returned in a human readable format (false) or a JSON (true).
      -n, --no-cache          Set this to force retrieval of layers on each run.
      -o, --order             Set this flag to sort any file/package results by descending size. Otherwise, they will be sorted by name.
      -s, --save              Set this flag to save rather than remove the final image filesystems on exit.
      -t, --type Diff Types   This flag sets the list of analyzer types to use. Set it repeatedly to use multiple analyzers.
    
    Global Flags:
      -v, --verbosity string   This flag controls the verbosity of container-diff. (default "warning")
    c. 
    2. 分析镜像
    a. 参考命令
    container-diff analyze <img>     [Run default analyzers]
    container-diff analyze <img> --type=history  [History]
    container-diff analyze <img> --type=file  [File System]
    container-diff analyze <img> --type=pip  [Pip]
    container-diff analyze <img> --type=apt  [Apt]
    container-diff analyze <img> --type=node  [Node]
    container-diff analyze <img> --type=apt --type=node  [Apt and Node]
    本地镜像:daemon://
       container-diff analyze  daemon://dalongrong/fn:0.0.3 
    远程镜像:remote:// 
       container-diff analyze nginx 
       输出如下:
       Retrieving image redis from source Cloud Registry
    ERRO[0029] remove /tmp/redis263898236/var/lib/apt/lists/partial/.wh..wh..opq: no such fil
    Retrieving analyses
    
    -----Apt-----
    
    Packages found in redis:
    NAME                           VERSION                         SIZE
    -acl                           2.2.52-2                        258K
    -adduser                       3.113 nmu3                      1M
    -apt                           1.0.9.8.4                       3.1M
    -base-files                    8 deb8u9                        413K
    -base-passwd                   3.5.37                          185K
    -bash                          4.3-11 deb8u1                   4.9M
    -bsdutils                      1:2.25.2-6                      181K
    -coreutils                     8.23-4                          13.9M
    -dash                          0.5.7-4 b1                      191K
    -debconf                       1.5.56 deb8u1                   614K
    -debconf-i18n                  1.5.56 deb8u1                   1.1M
    -debian-archive-keyring        2017.5~deb8u1                   137K
    -debianutils                   4.4 b1                          147K
    -diffutils                     1:3.3-1 b1                      950K
    -dmsetup                       2:1.02.90-2.2 deb8u1            123K
    -dpkg                          1.17.27                         6.5M
    -e2fslibs                      1.42.12-2 b1                    386K
    -e2fsprogs                     1.42.12-2 b1                    2.7M
    -findutils                     4.4.2-9 b1                      1.4M
    -gcc-4.8-base                  4.8.4-1                         212K
    -gcc-4.9-base                  4.9.2-10                        218K
    -gnupg                         1.4.18-7 deb8u4                 4.8M
    -gpgv                          1.4.18-7 deb8u4                 414K
    -grep                          2.20-4.1                        1.2M
    -gzip                          1.6-4                           239K
    -hostname                      3.15                            59K
    -init                          1.22                            29K
    -initscripts                   2.88dsf-59                      165K
    -insserv                       1.14.0-5                        183K
    -libacl1                       2.2.52-2                        80K
    -libapt-pkg4.12                1.0.9.8.4                       2.6M
    -libattr1                      1:2.4.47-2                      30K
    -libaudit-common               1:2.4-1                         49K
    -libaudit1                     1:2.4-1 b1                      157K
    -libblkid1                     2.25.2-6                        326K
    -libbz2-1.0                    1.0.6-7 b3                      114K
    -libc-bin                      2.19-18 deb8u10                 3.2M
    -libc6                         2.19-18 deb8u10                 10M
    -libcap2                       1:2.24-8                        61K
    -libcap2-bin                   1:2.24-8                        110K
    -libcomerr2                    1.42.12-2 b1                    69K
    -libcryptsetup4                2:1.6.6-5                       227K
    -libdb5.3                      5.3.28-9                        1.8M
    -libdebconfclient0             0.192                           53K
    -libdevmapper1.02.1            2:1.02.90-2.2 deb8u1            330K
    -libgcc1                       1:4.9.2-10                      129K
    -libgcrypt20                   1.6.3-2 deb8u4                  998K
    -libgpg-error0                 1.17-3                          444K
    -libkmod2                      18-3                            134K
    -liblocale-gettext-perl        1.05-8 b1                       37K
    -liblzma5                      5.1.1alpha 20120614-2+b3        309K
    -libmount1                     2.25.2-6                        357K
    -libncurses5                   5.9 20140913-1+b1               306K
    -libncursesw5                  5.9 20140913-1+b1               388K
    -libpam-modules                1.1.8-3.1 deb8u2+b1             788K
    -libpam-modules-bin            1.1.8-3.1 deb8u2+b1             201K
    -libpam-runtime                1.1.8-3.1 deb8u2                1.4M
    -libpam0g                      1.1.8-3.1 deb8u2+b1             213K
    -libpcre3                      2:8.35-3.3 deb8u4               618K
    -libprocps3                    2:3.3.9-9                       132K
    -libreadline6                  6.3-8 b3                        419K
    -libselinux1                   2.3-2                           213K
    -libsemanage-common            2.3-1                           65K
    -libsemanage1                  2.3-1 b1                        245K
    -libsepol1                     2.3-2                           339K
    -libslang2                     2.3.0-2                         1.5M
    -libsmartcols1                 2.25.2-6                        209K
    -libss2                        1.42.12-2 b1                    82K
    -libstdc++6                    4.9.2-10                        1.3M
    -libsystemd0                   215-17 deb8u7                   183K
    -libtext-charwidth-perl        0.04-7 b3                       85K
    -libtext-iconv-perl            1.7-5 b2                        92K
    -libtext-wrapi18n-perl         0.06-7                          28K
    -libtinfo5                     5.9 20140913-1+b1               480K
    -libudev1                      215-17 deb8u7                   101K
    -libusb-0.1-4                  2:0.1.12-25                     42K
    -libustr-1.0-1                 1.0.4-3 b2                      287K
    -libuuid1                      2.25.2-6                        89K
    -login                         1:4.2-3 deb8u4                  2.1M
    -lsb-base                      4.1 Debian13+nmu1               72K
    -mawk                          1.3.3-17                        198K
    -mount                         2.25.2-6                        357K
    -multiarch-support             2.19-18 deb8u10                 194K
    -ncurses-base                  5.9 20140913-1                  371K
    -ncurses-bin                   5.9 20140913-1+b1               535K
    -passwd                        1:4.2-3 deb8u4                  2.1M
    -perl-base                     5.20.2-3 deb8u9                 4.5M
    -procps                        2:3.3.9-9                       670K
    -readline-common               6.3-8                           109K
    -sed                           4.2.2-4 deb8u1                  575K
    -sensible-utils                0.0.9                           110K
    -startpar                      0.59-3                          95K
    -systemd                       215-17 deb8u7                   11.2M
    -systemd-sysv                  215-17 deb8u7                   40K
    -sysv-rc                       2.88dsf-59                      125K
    -sysvinit-utils                2.88dsf-59                      147K
    -tar                           1.27.1-2 deb8u1                 2.2M
    -tzdata                        2017b-0 deb8u1                  1.7M
    -udev                          215-17 deb8u7                   5.8M
    -util-linux                    2.25.2-6                        2.7M
    -zlib1g                        1:1.2.8.dfsg-2 b1               179K
    
       container-diff analyze remote://docker.io/dalongrong/mqttmosca --type=node // 指明是node 
    
       输出如下:
       
       Retrieving image docker.io/dalongrong/mqttmosca from source Cloud Registry
    ERRO[0008] remove /tmp/docker.iodalongrongmqttmosca121533925/var/lib/apt/lists/.wh.partial: no such file or directory 
    Retrieving analyses
    
    -----Node-----
    
    Packages found in docker.io/dalongrong/mqttmosca:
    NAME                            VERSION        SIZE          INSTALLATION
    -balanced-match                 0.4.2          8.5K          /node_modules/balanced-match/
    -cnpm                           4.4.2          14.8M         /usr/local/lib/node_modules/cnpm/
    -code-point-at                  1.0.0          10.1K         /node_modules/code-point-at/
    -concat-map                     0.0.1          6.3K          /node_modules/concat-map/
    -d                              0.1.1          20.9K         /node_modules/d/
    -es5-ext                        0.10.12        445.1K        /node_modules/es5-ext/
    -is-fullwidth-code-point        1.0.0          11.5K         /node_modules/is-fullwidth-code-point/
    -npm                            3.8.6          8.5M          /usr/local/lib/node_modules/npm/
    -number-is-nan                  1.0.0          4.4K          /node_modules/number-is-nan/
    -pm2                            2.2.3          11.7M         /usr/local/lib/node_modules/pm2/
    3. 镜像差异比较
    1. 参考命令:
    container-diff diff <img1> <img2>     [Run default differs]
    container-diff diff <img1> <img2> --type=history  [History]
    container-diff diff <img1> <img2> --type=file  [File System]
    container-diff diff <img1> <img2> --type=pip  [Pip]
    container-diff diff <img1> <img2> --type=apt  [Apt]
    container-diff diff <img1> <img2> --type=node  [Node]
    2. 使用(和上面的一样daemon:// 本地镜像  remote:// 远程 )
    container-diff remote://docker.io/dalongrong/fn:0.0.9  remote://docker.io/dalongrong/mqttmosca 
    具体信息就不粘贴了,太多了
    4. 附加参数
    比如: -j or --json 生成json 格式的数据
    5. 总结
    功能很强很大,容器的黑匣子对于我们来说就比较清晰了。
    5. 参考资料
    https://github.com/GoogleCloudPlatform/container-diff
  • 相关阅读:
    python增加 删除列表元素
    Fildder2
    Appscan使用第三方浏览器
    Appscan的下载安装
    http状态码
    python学习资料
    Fiddler抓包工具
    性能测试的一些资料
    Jmeter分布式测试
    内存溢出的原因及解决办法(转)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/7903665.html
Copyright © 2020-2023  润新知