在 Docker 20.10.3 中构建期间如何获取要输出的目录列表?(2022 年 3 月)

jco*_*lum 6 docker

这里的答案似乎不起作用。这里的答案也不起作用。我怀疑从那时起 Docker 的构建引擎发生了一些变化。

\n

我的 Dockerfile:

\n
FROM node:16.14.2-alpine\n\nWORKDIR /usr/src/app\nCOPY package.json yarn.lock ./\nRUN yarn\nCOPY dist .\nEXPOSE $SEEDSERV_PORT\nRUN pwd\nRUN echo "output"\nRUN ls -alh\nRUN contents="$(ls -1 /usr/src/app)" && echo $contents\n\n# CMD ["node","server.js"]\nENTRYPOINT ["tail", "-f", "/dev/null"]\n
Run Code Online (Sandbox Code Playgroud)\n

这给出了构建的输出:

\n
\xe2\x9c\x97 docker build --progress auto  --build-arg SEEDSERV_PORT=9999 -f build/api/Dockerfile .\n[+] Building 2.1s (14/14) FINISHED\n => [internal] load build definition from Dockerfile                                                                                                                                                                    0.1s\n => => transferring dockerfile: 37B                                                                                                                                                                                     0.0s\n => [internal] load .dockerignore                                                                                                                                                                                       0.0s\n => => transferring context: 2B                                                                                                                                                                                         0.0s\n => [internal] load metadata for docker.io/library/node:16.14.2-alpine                                                                                                                                                  1.9s\n => [internal] load build context                                                                                                                                                                                       0.0s\n => => transferring context: 122B                                                                                                                                                                                       0.0s\n => [1/9] FROM docker.io/library/node:16.14.2-alpine@sha256:da7ef512955c906b6fa84a02295a56d0172b2eb57e09286ec7abc02cfbb4c726                                                                                            0.0s\n => CACHED [2/9] WORKDIR /usr/src/app                                                                                                                                                                                   0.0s\n => CACHED [3/9] COPY package.json yarn.lock ./                                                                                                                                                                         0.0s\n => CACHED [4/9] RUN yarn                                                                                                                                                                                               0.0s\n => CACHED [5/9] COPY dist .                                                                                                                                                                                            0.0s\n => CACHED [6/9] RUN pwd                                                                                                                                                                                                0.0s\n => CACHED [7/9] RUN echo "output"                                                                                                                                                                                      0.0s\n => CACHED [8/9] RUN ls -alh                                                                                                                                                                                            0.0s\n => CACHED [9/9] RUN contents="$(ls -1 /usr/src/app)" && echo $contents                                                                                                                                                 0.0s\n => exporting to image                                                                                                                                                                                                  0.0s\n => => exporting layers                                                                                                                                                                                                 0.0s\n => => writing image sha256:d1dd7ac452ecacc803eed2bb1deff654c3296a5576b6f418dbd07c5f2e644f1a                                                                                                                            0.0s\n\n
Run Code Online (Sandbox Code Playgroud)\n

添加--progress plain给出的输出略有不同,但不是我正在寻找的,例如:

\n
#11 [7/9] RUN echo "output"\n#11 sha256:634e07d201926b0f70289515fcf4a7303cac3658aeddebfa9552fc3054ed4ace\n#11 CACHED\n
Run Code Online (Sandbox Code Playgroud)\n

如何在 20.10.3 中构建期间获取目录列表?我可以执行正在运行的容器,但这需要更多的工作。

\n

BMi*_*tch 6

如果您的构建已缓存,则运行不会显示任何输出。您需要包含--no-cache再次运行该命令才能显示任何输出,并且还需要包含--progress plain输出到控制台。

  • @jcollum 我刚刚将其标记为与您重复。有时,它们对于那些后来通过谷歌搜索发现的人来说可能很有用。 (2认同)