Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在dockerfile中获取命令执行的时间戳_Docker_Shell_Dockerfile - Fatal编程技术网

如何在dockerfile中获取命令执行的时间戳

如何在dockerfile中获取命令执行的时间戳,docker,shell,dockerfile,Docker,Shell,Dockerfile,这是在shell中执行的正常方式 starttime=$(date '+%d/%m/%Y %H:%M:%S') #echo $starttime # sleep for 5 seconds sleep 5 # end time endtime=$(date '+%d/%m/%Y %H:%M:%S') #echo $endtime STARTTIME=$(date -d "${starttime}" +%s) ENDTIME=$(date -d "${endt

这是在shell中执行的正常方式

starttime=$(date '+%d/%m/%Y %H:%M:%S')

#echo $starttime
# sleep for 5 seconds
sleep 5

# end time
endtime=$(date '+%d/%m/%Y %H:%M:%S')
#echo $endtime


STARTTIME=$(date -d "${starttime}" +%s)
ENDTIME=$(date -d "${endtime}" +%s)
RUNTIME=$((ENDTIME-STARTTIME))
echo "Seconds ${RUNTIME} in sec"
想在docker文件中使用相同的方式

想要在dockerfile中获取执行命令前后的时间戳


能不能请一些人帮个忙。

完全一样。一个
RUN
命令运行一个普通的BourneShell命令行(将其包装在
sh-c
中)。如果你有这么多脚本编写,你可以考虑把它写进shell脚本,<代码>拷贝<代码>将脚本写入你的图像,然后<代码>运行< /CONT>宁。 如果这只是用于临时诊断,并且不需要以秒为单位计算时间,则可以按原样运行
date
,而无需编写其余脚本

运行日期;制作date#但这实际上不会在失败时停止
如果你特别有动力,你可以从问题中提取脚本,让它以命令作为参数,并围绕它编写脚本

#/垃圾箱/垃圾箱
开始时间=$(日期'+%d/%m/%Y%H:%m:%S')
sh-c“$@”
rc=$?
endtime=$(日期'+%d/%m/%Y%H:%m:%S')
...
退出“$rc”
然后,在Dockerfile中,您可以使用该指令运行
run
命令。您很少看到使用JSON数组运行
命令,这将绕过您的脚本

#必须是可执行的,并且具有正确的#/垃圾箱/垃圾箱线
复制timeit.sh/usr/local/bin
SHELL[“/usr/local/bin/timeit.sh”]
跑牌
运行[“/bin/echo”,“这不会计时”]