docker build不输出echo内容,不打印构建过程

news/2024/7/8 16:28:26 标签: docker, 容器, 构建, build, 调试dockerfile

文章目录

  • 1. 背景
  • 2. 解决方案
    • 2.1. 方案一 (不推荐)
    • 2.2. 方案二 (强烈推荐)
  • 3. 测试
    • 3.1. 不使用任何参数构建过程
    • 3.2. 使用DOCKER_BUILDKIT参数构建过程
    • 3.3. 使用--progress=plain参数构建过程

1. 背景

  升级了docker版本,发现在构建镜像过程中,docker没有输出echo, ls, pwd等类似命令的类容,并且没有输出构建过程。老版本的docker则没有这个问题(具体哪个版本没有深究)

2. 解决方案

2.1. 方案一 (不推荐)

  增加DOCKER_BUILDKIT参数,譬如这么执行构建命令:DOCKER_BUILDKIT=0 docker build .

2.2. 方案二 (强烈推荐)

  增加--progress=plain参数,譬如这么执行构建命令:docker build --no-cache --progress=plain .

3. 测试

  dockerfile测试文件如下:

dockerfile">FROM ubuntu:22.04

RUN echo "aa"
RUN ls -ll

3.1. 不使用任何参数构建过程

[root@8f7059cd1fc5 ~/test-dockerfile]# docker build .
[+] Building 33.7s (7/7) FINISHED                                                                                                                                                                                      docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                                             0.0s
 => => transferring dockerfile: 80B                                                                                                                                                                                              0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                0.0s
 => => transferring context: 2B                                                                                                                                                                                                  0.0s
 => [internal] load metadata for docker.io/library/ubuntu:22.04                                                                                                                                                                 30.7s
 => [ 1/33] FROM docker.io/library/ubuntu:22.04@sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054                                                                                                        403.8s
 => => resolve docker.io/library/ubuntu:22.04@sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054                                                                                                           30.9s
 => => sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054 1.13kB / 1.13kB                                                                                                                                   0.0s
 => => sha256:b492494d8e0113c4ad3fe4528a4b5ff89faa5331f7d52c5c138196f69ce176a6 424B / 424B                                                                                                                                       0.0s
 => => sha256:c6b84b685f35f1a5d63661f5d4aa662ad9b7ee4f4b8c394c022f25023c907b65 2.30kB / 2.30kB                                                                                                                                   0.0s
 => => sha256:445a6a12be2be54b4da18d7c77d4a41bc4746bc422f1f4325a60ff4fc7ea2e5d 29.54MB / 29.54MB                                                                                                                               370.0s
 => => extracting sha256:445a6a12be2be54b4da18d7c77d4a41bc4746bc422f1f4325a60ff4fc7ea2e5d                                                                                                                                        2.5s
 => [2/3] RUN echo "aa"                                                                                                                                                                                                          2.4s
 => [3/3] RUN ls -ll                                                                                                                                                                                                             0.4s 
 => exporting to image                                                                                                                                                                                                           0.0s
 => => exporting layers                                                                                                                                                                                                          0.0s
 => => writing image sha256:d44fb2351af002391cb8e1082161b9b62cb1f5d09d2d86d896fa3d39e6813631                                                                                                                                     0.0s
[root@8f7059cd1fc5 ~/test-dockerfile]# 

3.2. 使用DOCKER_BUILDKIT参数构建过程

[root@8f7059cd1fc5 ~/test-dockerfile]# 
[root@8f7059cd1fc5 ~/test-dockerfile]# DOCKER_BUILDKIT=0 docker build --no-cache  .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
            BuildKit is currently disabled; enable it by removing the DOCKER_BUILDKIT=0
            environment-variable.

Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM ubuntu:22.04
22.04: Pulling from library/ubuntu
445a6a12be2b: Already exists 
Digest: sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054
Status: Downloaded newer image for ubuntu:22.04
 ---> c6b84b685f35
Step 2/3 : RUN echo "aa"
 ---> Running in 0482ec8dc4d8
aa
Removing intermediate container 0482ec8dc4d8
 ---> dbd1157070f6
Step 3/3 : RUN ls -ll
 ---> Running in cb136517b1e9
total 48
lrwxrwxrwx   1 root root    7 Aug 16 02:02 bin -> usr/bin
drwxr-xr-x   2 root root 4096 Apr 18  2022 boot
drwxr-xr-x   5 root root  340 Sep 28 03:28 dev
drwxr-xr-x   1 root root 4096 Sep 28 03:28 etc
drwxr-xr-x   2 root root 4096 Apr 18  2022 home
lrwxrwxrwx   1 root root    7 Aug 16 02:02 lib -> usr/lib
lrwxrwxrwx   1 root root    9 Aug 16 02:02 lib32 -> usr/lib32
lrwxrwxrwx   1 root root    9 Aug 16 02:02 lib64 -> usr/lib64
lrwxrwxrwx   1 root root   10 Aug 16 02:02 libx32 -> usr/libx32
drwxr-xr-x   2 root root 4096 Aug 16 02:03 media
drwxr-xr-x   2 root root 4096 Aug 16 02:03 mnt
drwxr-xr-x   2 root root 4096 Aug 16 02:03 opt
dr-xr-xr-x 365 root root    0 Sep 28 03:28 proc
drwx------   2 root root 4096 Aug 16 02:06 root
drwxr-xr-x   5 root root 4096 Aug 16 02:06 run
lrwxrwxrwx   1 root root    8 Aug 16 02:02 sbin -> usr/sbin
drwxr-xr-x   2 root root 4096 Aug 16 02:03 srv
dr-xr-xr-x  13 root root    0 Sep 28 03:28 sys
drwxrwxrwt   2 root root 4096 Aug 16 02:06 tmp
drwxr-xr-x  14 root root 4096 Aug 16 02:03 usr
drwxr-xr-x  11 root root 4096 Aug 16 02:06 var
Removing intermediate container cb136517b1e9
 ---> 37eb405c7449
Successfully built 37eb405c7449

3.3. 使用–progress=plain参数构建过程

[root@8f7059cd1fc5 ~/test-dockerfile]# docker build --no-cache --progress=plain .
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 80B done
#1 DONE 0.1s

#2 [internal] load .dockerignore
#2 transferring context: 2B done
#2 DONE 0.1s

#3 [internal] load metadata for docker.io/library/ubuntu:22.04
#3 DONE 31.5s

#4 [ 1/33] FROM docker.io/library/ubuntu:22.04@sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054
#4 resolve docker.io/library/ubuntu:22.04@sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054 30.9s done
#4 sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054 1.13kB / 1.13kB done
#4 sha256:b492494d8e0113c4ad3fe4528a4b5ff89faa5331f7d52c5c138196f69ce176a6 424B / 424B done
#4 sha256:c6b84b685f35f1a5d63661f5d4aa662ad9b7ee4f4b8c394c022f25023c907b65 2.30kB / 2.30kB done
#4 sha256:445a6a12be2be54b4da18d7c77d4a41bc4746bc422f1f4325a60ff4fc7ea2e5d 29.54MB / 29.54MB 370.0s done
#4 extracting sha256:445a6a12be2be54b4da18d7c77d4a41bc4746bc422f1f4325a60ff4fc7ea2e5d 2.5s done
#4 DONE 403.8s

#5 [2/3] RUN echo "aa"
#5 0.491 aa
#5 DONE 0.5s

#6 [3/3] RUN ls -ll
#6 0.450 total 48
#6 0.450 lrwxrwxrwx   1 root root    7 Aug 16 02:02 bin -> usr/bin
#6 0.450 drwxr-xr-x   2 root root 4096 Apr 18  2022 boot
#6 0.450 drwxr-xr-x   5 root root  340 Sep 28 03:26 dev
#6 0.450 drwxr-xr-x  32 root root 4096 Aug 16 02:06 etc
#6 0.450 drwxr-xr-x   2 root root 4096 Apr 18  2022 home
#6 0.450 lrwxrwxrwx   1 root root    7 Aug 16 02:02 lib -> usr/lib
#6 0.450 lrwxrwxrwx   1 root root    9 Aug 16 02:02 lib32 -> usr/lib32
#6 0.450 lrwxrwxrwx   1 root root    9 Aug 16 02:02 lib64 -> usr/lib64
#6 0.450 lrwxrwxrwx   1 root root   10 Aug 16 02:02 libx32 -> usr/libx32
#6 0.450 drwxr-xr-x   2 root root 4096 Aug 16 02:03 media
#6 0.450 drwxr-xr-x   2 root root 4096 Aug 16 02:03 mnt
#6 0.450 drwxr-xr-x   2 root root 4096 Aug 16 02:03 opt
#6 0.450 dr-xr-xr-x 381 root root    0 Sep 28 03:26 proc
#6 0.450 drwx------   2 root root 4096 Aug 16 02:06 root
#6 0.450 drwxr-xr-x   5 root root 4096 Aug 16 02:06 run
#6 0.450 lrwxrwxrwx   1 root root    8 Aug 16 02:02 sbin -> usr/sbin
#6 0.450 drwxr-xr-x   2 root root 4096 Aug 16 02:03 srv
#6 0.450 dr-xr-xr-x  13 root root    0 Sep 28 03:26 sys
#6 0.450 drwxrwxrwt   2 root root 4096 Aug 16 02:06 tmp
#6 0.450 drwxr-xr-x  14 root root 4096 Aug 16 02:03 usr
#6 0.450 drwxr-xr-x  11 root root 4096 Aug 16 02:06 var
#6 DONE 0.5s

#7 exporting to image
#7 exporting layers done
#7 writing image sha256:4ad0b974d54190047ad7719c848a762fee837653458e13d23e7c8134bd9832a3 done
#7 DONE 0.0s
[root@8f7059cd1fc5 ~/test-dockerfile]# 

http://www.niftyadmin.cn/n/5055791.html

相关文章

华为智能高校出口安全解决方案(2)

本文承接: https://qiuhualin.blog.csdn.net/article/details/131475315?spm1001.2014.3001.5502 重点讲解华为智能高校出口安全解决方案的基础网络安全&业务部署与优化的部署流程。 华为智能高校出口安全解决方案(2) 课程地址基础网络…

【运维日常】华为云专线实现idc通过nat出网

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

Git 详细安装教程(详解 Git 安装过程的每一个步骤

Git 详细安装教程(详解 Git 安装过程的每一个步骤) 该文章详细具体,值得收藏学习

MySQL面试题-索引的基本原理及相关面试题

先了解一下MySQL的结构 下面我们重点讲一下存储引擎 MySQL的数据库和存储数据的目录是一一对应的,这些数据库的文件就保存在磁盘中对应的目录里 下面我们来看一下对应的具体数据文件 .frm是表的结构,不管什么样的索引都会有 .ibd代表我们现在使用的存…

k8s中常用命令总结

文章目录 进入pod容器的命令pod中只有1个用户容器pod中只有2个(含)以上用户容器 yaml中的字段不清楚后面跟什么,通过explain来查看查看pod内指定容器的日志Pod内各个容器的服务端口不能相同资源对象的创建方式一方式二 查看pod的详细信息查看…

Android - Handler使用问题总结

一、使用Handler.postDelayed(Runnable)接口时,Runnable有时候没有执行。 1、问题出现场景: class MyHandler extends Handler {//msg的值为0private static final int MSG_UPDATE 0;Overridepublic void handleMessage(NonNull Message msg) {super.…

oracle 乱码(编码为AMERICAN_AMERICA.US7ASCII)问题解决

案例 &#xff1a;mysql数据同步到oracle service类 本地用的多数据源 com.baomidou dynamic-datasource-spring-boot-starter private final JdbcTemplate jdbcTemplate;private static final List<String> lableList new ArrayList();static {lableList.add("…

Android AMS——创建Application(七)

与在 App 内部启动一个 Activity 的不同之处在于,点击桌面 Launcher 首次启动一个应用程序的时候,会先去创建一个该应用程序对应的进程,然后执行 ActivityThread 的 main() 方法去创建该应用对应的 Application,然后再去启动首页 Activity。前面已经分析了进程的创建和启动…