docker history --format {{.CreatedBy}} --no-trunc=true $DockerImage |sed "s/\/bin\/sh\ -c\ \#(nop)\ //g"|sed "s/\/bin\/sh\ -c/RUN/g" | tac

--format {{.CeratedBy}} 只输出 CREATE BY 这一列
--no-trunc=true 完成输出命令
sed "s/\/bin\/sh\ -c\ \#(nop)\ //g"|sed "s/\/bin\/sh\ -c/RUN/g" 替换命令执行的bash前缀
tac 由于history中的命令是层级的,越晚运行的命令越在上面,为了更方便的阅读,使用tac命令让其翻转

cat > Obtain_dockerfile.sh <<-'EOF'
#!/bin/bash
export PATH=$PATH
if [ $# -eq 1 ];then
		docker history --format {{.CreatedBy}} --no-trunc=true $1 |sed "s/\/bin\/sh\ -c\ \#(nop)\ //g"|sed "s/\/bin\/sh\ -c/RUN/g" | tac
	else
		echo "sh Obtain_dockerfile.sh $DOCKER_IMAGE"
fi
EOF

相关文章:

  • 2021-04-03
  • 2022-12-23
  • 2021-12-14
  • 2021-11-09
  • 2021-12-29
  • 2021-05-21
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-03-06
  • 2022-01-27
  • 2022-12-23
  • 2021-06-20
  • 2021-06-01
  • 2021-04-10
相关资源
相似解决方案