如何衡量Docker构建步骤的持续时间?

如何衡量Docker构建步骤的持续时间?,第1张

如何衡量Docker构建步骤的持续时间

BuildKit在18.06中进行实验,并在18.09中普遍提供,内置了此功能。要以实验性模式配置dockerd守护程序,可以设置daemon.json:

$ cat /etc/docker/daemon.json{  "experimental": true}

然后,您可以使用环境变量从客户端启用BuildKit:

$ export DOCKER_BUILDKIT=1$ docker build -t java-test:latest .[+] Building 421.6s (13/13) FINISHED => local://context (.dockerignore)         1.6s => => transferring context: 56B 0.3s => local://dockerfile (Dockerfile)         2.0s => => transferring dockerfile: 895B        0.4s => CACHED docker-image://docker.io/tonistiigi/copy:v0.1.3@sha256:e57a3b4d6240f55bac26b655d2cfb751f8b9412d6f  0.1s => docker-image://docker.io/library/openjdk:8-jdk-alpine         1.0s => => resolve docker.io/library/openjdk:8-jdk-alpine  0.0s => local://context   1.7s => => transferring context: 6.20kB         0.4s => docker-image://docker.io/library/openjdk:8-jre-alpine         1.3s => => resolve docker.io/library/openjdk:8-jre-alpine  0.0s => /bin/sh -c apk add --no-cache maven    61.0s => copy /src-0/pom.xml java/pom.xml        1.3s => /bin/sh -c mvn dependency:go-offline  339.4s => copy /src-0 java  0.9s => /bin/sh -c mvn package -Dmaven.test.skip=true     10.2s => copy /src-0/gs-spring-boot-docker-0.1.0.jar java/app.jar      0.8s => exporting to image1.2s => => exporting layers          1.0s => => writing image sha256:d57028743ca10bb4d0527a294d5c83dd941aeb1033d4fe08949a135677846179       0.1s => => naming to docker.io/library/java-test:latest    0.1s

还有一个选项可以禁用tty控制台输出,该选项会生成更适合脚本编写的输出,并且每个部分都有开始,停止和持续时间:

$ docker build -t java-test:latest --progress plain .#1 local://dockerfile (Dockerfile)          #1       digest: sha256:da721b637ea85add6e26070a48520675cefc2bed947c626f392be9890236d11b#1         name: "local://dockerfile (Dockerfile)"      #1      started: 2018-09-05 19:30:53.899809093 +0000 UTC#1    completed: 2018-09-05 19:30:53.899903348 +0000 UTC#1     duration: 94.255µs#1      started: 2018-09-05 19:30:53.900069076 +0000 UTC#1 transferring dockerfile: 38B done#2 ...#2 local://context (.dockerignore)  #2       digest: sha256:cbf55954659905f4d7bd2fc3e5e52d566055eecd94fd7503565315022d834c21#2         name: "local://context (.dockerignore)"       #2      started: 2018-09-05 19:30:53.899624016 +0000 UTC#2    completed: 2018-09-05 19:30:53.899695455 +0000 UTC#2     duration: 71.439µs#2      started: 2018-09-05 19:30:53.899839335 +0000 UTC#2    completed: 2018-09-05 19:30:54.359527504 +0000 UTC#2     duration: 459.688169ms     #2 transferring context: 34B done#1 local://dockerfile (Dockerfile)#1    completed: 2018-09-05 19:30:54.592304408 +0000 UTC#1     duration: 692.235332ms#3 docker-image://docker.io/tonistiigi/copy:v0.1.3@sha256:e57a3b4d6240f55ba...#3       digest: sha256:39386c91e9f27ee70b2eefdee12fc8a029bf5edac621b91eb5f3e6001d41dd4f#3         name: "docker-image://docker.io/tonistiigi/copy:v0.1.3@sha256:e57a3b4d6240f55bac26b655d2cfb751f8b9412d6f7bb1f787e946391fb4b21b"#3      started: 2018-09-05 19:30:54.731749377 +0000 UTC #3    completed: 2018-09-05 19:30:54.732013326 +0000 UTC#3     duration: 263.949µs#5 docker-image://docker.io/library/openjdk:8-jdk-alpine#5       digest: sha256:d680c6a82813d080081fbc3c024d21ddfa7ff995981cc7b4bfafe55edf80a319#5         name: "docker-image://docker.io/library/openjdk:8-jdk-alpine"#5      started: 2018-09-05 19:30:54.731483638 +0000 UTC#5    completed: 2018-09-05 19:30:54.732480345 +0000 UTC#5     duration: 996.707µs#4 docker-image://docker.io/library/openjdk:8-jre-alpine#4       digest: sha256:9ed31df4e6731a1718ea93bfa77354ad1ea2d1625c1cb16e2087d16d0b84bd00#4         name: "docker-image://docker.io/library/openjdk:8-jre-alpine"     #4      started: 2018-09-05 19:30:54.73176516 +0000 UTC#4    completed: 2018-09-05 19:30:54.732603067 +0000 UTC#4     duration: 837.907µs#7 local://context#7       digest: sha256:efe765161a29e2bf7a41439cd2e6656fcf6fa6bc97da825ac9b5a0d8adecf1ac#7         name: "local://context"#7      started: 2018-09-05 19:30:54.73178732 +0000 UTC#7    completed: 2018-09-05 19:30:54.731880943 +0000 UTC#7     duration: 93.623µs#7      started: 2018-09-05 19:30:54.792740019 +0000 UTC#7 transferring context: 473B done#7    completed: 2018-09-05 19:30:55.059008345 +0000 UTC#7     duration: 266.268326ms#9 /bin/sh -c mvn dependency:go-offline#9       digest: sha256:2197672cd7a44d93e0dba40aa00d7ef41f8680226d91f469d1c925646bdc8d6d#9         name: "/bin/sh -c mvn dependency:go-offline"#9      started: 2018-09-05 19:30:55.203449147 +0000 UTC#9    completed: 2018-09-05 19:30:55.203449147 +0000 UTC#9     duration: 0s#9       cached: true#10 copy /src-0 java#10       digest: sha256:36cf252c34be098731bd8c5fb3f273f9c1437a5f74a65a3555d71150c2092fa7#10         name: "copy /src-0 java"#10      started: 2018-09-05 19:30:55.203449147 +0000 UTC#10    completed: 2018-09-05 19:30:55.203449147 +0000 UTC#10     duration: 0s#10       cached: true#11 /bin/sh -c mvn package -Dmaven.test.skip=true#11       digest: sha256:390464b1fdc7a4c833b3476033d95b7714e22bcbfd018469e97b04781cb41532#11         name: "/bin/sh -c mvn package -Dmaven.test.skip=true"#11      started: 2018-09-05 19:30:55.203449147 +0000 UTC#11    completed: 2018-09-05 19:30:55.203449147 +0000 UTC#11     duration: 0s#11       cached: true#12 copy /src-0/gs-spring-boot-docker-0.1.0.jar java/app.jar#12       digest: sha256:a7d60191a720f80de72a77ebe0d4bd1b0fd55d44e623661e80916b7fd1952076#12         name: "copy /src-0/gs-spring-boot-docker-0.1.0.jar java/app.jar"#12      started: 2018-09-05 19:30:55.203449147 +0000 UTC#12    completed: 2018-09-05 19:30:55.203555216 +0000 UTC#12     duration: 106.069µs#12       cached: true#6 /bin/sh -c apk add --no-cache maven#6       digest: sha256:db505db5e418f195c7bad3a710ad40bec3d91d47ff11a6f464b3ae37af744e7d#6         name: "/bin/sh -c apk add --no-cache maven"#6      started: 2018-09-05 19:30:55.203449147 +0000 UTC#6    completed: 2018-09-05 19:30:55.203449147 +0000 UTC#6     duration: 0s#6       cached: true#8 copy /src-0/pom.xml java/pom.xml#8       digest: sha256:f032d4ff111c6ab0efef1a4e37d2467fffe43f48a529b8d56291ec81f96296ab#8         name: "copy /src-0/pom.xml java/pom.xml"#8      started: 2018-09-05 19:30:55.203449147 +0000 UTC#8    completed: 2018-09-05 19:30:55.203449147 +0000 UTC#8     duration: 0s#8       cached: true#13 exporting to image#13       digest: sha256:d536dc2895c30fbde898bb4635581350a87c21f3695913ba21850a73d31422d9#13         name: "exporting to image"#13      started: 2018-09-05 19:30:55.203674127 +0000 UTC#13 exporting layers done#13 writing image sha256:d57028743ca10bb4d0527a294d5c83dd941aeb1033d4fe08949a135677846179 0.1s done#13 naming to docker.io/library/java-test:latest#13    completed: 2018-09-05 19:30:55.341300051 +0000 UTC#13     duration: 137.625924ms#13 naming to docker.io/library/java-test:latest 0.0s done


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5124400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存