sh 使用http://yuml.me绘制一个显示docker镜像之间依赖关系的图表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 使用http://yuml.me绘制一个显示docker镜像之间依赖关系的图表相关的知识,希望对你有一定的参考价值。

#!/bin/bash
set -euo pipefail

repo=$1

dsl_text() {
  while read d; do \

    from=$(grep FROM $d | cut -d ' ' -f2)
    name=$(grep '##' $d | sed "s|##||g" | jq -r .name)

    echo "[$from]->[$repo/$name]" | sed "s|/|\/|g"

  done < <(find . -name Dockerfile)
}

dsl_text_encoded() {
  dsl_text | tr '\n' '+' \
    | sed -r \
      -e "s|\+|%2C\+|g" \
      -e "s|\[|%5B|g" -e "s|]|%5D|g" \
      -e "s|:|%3A|g" -e "s|>|%3E|g" \
      -e "s|&|%26|g" -e "s|#|%23|g" -e "s|;|%3B|g"
}

yumlme() {
  curl -s 'http://yuml.me/diagram/scruffy;dir:LR;scale:80/class/' \
    -H 'Origin: http://yuml.me' \
    -H 'Accept-Encoding: gzip, deflate' \
    -H 'Accept-Language: fr,en-US;q=0.8,en;q=0.6' \
    -H 'User-Agent: Mozilla/5.0 AppleWebKit/42 (KHTML, like Gecko) Chrome/42 Safari/42' \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -H 'Accept: */*' \
    -H 'Referer: http://yuml.me/diagram/scruffy/class/draw' \
    -H 'X-Requested-With: XMLHttpRequest' \
    -H 'Connection: keep-alive' \
    --data 'dsl_text='$(dsl_text_encoded) \
    --compressed
}

main() {
  cmd=$(yumlme | sed -r "s|(.*).png|sensible-browser http://yuml.me/edit/\1|")
  echo "$cmd" && $cmd
}

main

以上是关于sh 使用http://yuml.me绘制一个显示docker镜像之间依赖关系的图表的主要内容,如果未能解决你的问题,请参考以下文章

sh Bash脚本,用于在RRD中存储ping数据并绘制该数据

Python绘制正弦余弦函数用到哪些函数?

使用 python 绘制图形并使用 HTML 显示它

使用 Retina 显示屏在画布上绘制图像

Jenkins Pipeline sh 显示名称/标签

为啥使用 Seaborn 绘制回归时截距显示不正确?