You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问Docker构建过程中生成的临时构建日志文件

访问Docker构建失败时容器内日志文件的方法

下面是几个实用方案,帮你拿到CI构建失败时容器里的/tmp/xfs-xxx/build.log日志:

方案1:从构建失败的临时容器中复制日志

Docker构建的每一步都会生成临时容器,即使步骤失败,这个容器也不会被自动删除。操作步骤:

  • 构建失败后,在CI服务器执行 docker ps -a,找到状态为Exited的最新容器(对应失败的RUN yarn install步骤)
  • 通过容器ID把日志复制到主机:docker cp <容器ID>:/tmp/xfs-xxx/build.log ./ci-build-fail.log
  • 直接查看主机上的ci-build-fail.log即可

如果容器还能启动,也可以直接进入容器查看:
docker exec -it <容器ID> /bin/bash
进入后执行 cat /tmp/xfs-xxx/build.log 查看内容

方案2:修改Dockerfile,失败时自动打印日志

在Dockerfile的RUN命令里增加判断逻辑,一旦yarn install失败,就先把日志输出到控制台,这样CI的构建日志里就能直接看到错误详情。修改后的RUN行如下:

RUN yarn install --immutable || (cat /tmp/xfs-xxx/build.log && exit 1) && yarn cache clean

这样如果install失败,会先打印日志内容,再以非0状态码退出,CI日志里就能直接拿到报错信息,无需额外去容器中查找。

方案3:手动启动临时镜像模拟构建步骤

拆分Dockerfile的构建阶段,先构建到执行yarn install之前的镜像,再手动进入容器执行命令查看日志:

  1. 给Dockerfile的初始阶段添加命名,示例:
FROM node:latest AS install-stage
USER node
WORKDIR /work

COPY --chown=node .yarn/releases/* /work/.yarn/releases/
COPY --chown=node package.json yarn.lock .yarnrc.yml /work
# 暂不执行RUN install,留到手动操作
  1. 在CI服务器构建这个临时阶段的镜像:
    docker build --target install-stage -t temp-install-image .
  2. 启动容器进入交互模式:
    docker run -it --rm temp-install-image /bin/bash
  3. 在容器内手动执行yarn install --immutable,执行失败后直接查看/tmp/xfs-xxx/build.log的内容

内容的提问来源于stack exchange,提问作者asinkxcoswt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 19:42:41