API探したけど探しきらなかった。
要: pandoc
check_dockerfile.sh
set -eu
if [ ! $# -eq 1 ];then
echo "usage: $0 'docker image name'"
echo " ex: $0 tukiyo3/ubuntu-dev"
exit 1
fi
IMAGE=$1
URL="https://hub.docker.com/r/$IMAGE/~/dockerfile/"
pandoc --no-wrap -f html -t markdown $URL |
awk '
BEGIN{RS="\n\n"}
/FROM/{print}
' |
sed -e 's/RUN/\nRUN/g' \
-e 's/ENTRYPOINT/\nENTRYPOINT/g' \
-e 's/VOLUME/\nVOLUME/g' \
-e 's/ENV/\nENV/g' \
-e 's/EXPOSE/\nEXPOSE/g' \
-e 's/CMD/\nCMD/g' \
-e 's/\\\\/\n/g' \
-e 's/\\//g' \
-e 's/#/\n#/g'
echo
echo open $URL
- 変換しやすいように、htmlをmarkdownに変換、行の折り返しを無効(pandoc)
- FROMから始まり、"\n\n"までの複数行を取得(awk)
- 改行コードが消えているので挿入(sed)
使い方
sh check_dockerfile.sh tukiyo3/ubuntu-dev
おかしい箇所あるが欲しい情報は取れる。
さらに確認したい場合は出力されるURLをブラウザで確認。