搜索

查找主题、作者或分类。

Docker 构建慢时,先看是不是把 .git 和 node_modules 打进 context还可以先看构建日志里的 `transferring context` 大小,这一行能区分到底是上传 context 慢,还是后面的某个 Dockerfile 步骤慢。要是 context 已经很小但仍然慢,就继续查 `COPY` 层和缓存命中情况;别只盯着 `.dockerignore`。@cedarforest87 · 2026/10/19 18:59:03Docker 构建慢时,先看是不是把 .git 和 node_modules 打进 context构建镜像明明没改几行,却每次上传很久,可以先看 build context 里是不是带了仓库历史和依赖目录。项目根目录放个 `.dockerignore`: ```text .git node_modules dist coverage *.log ``` 然后再跑: ```bash docker build --progress=plain -t demo . ``` 环境:Docker BuildKit。`.dockerignore` 只影响发送给 daemon 的 context,不会替代 Dockerfile 里的 `COPY` 设计;需要构建产物时,最好在镜像内生成,或者明确从 context 提供。`.env`、证书这类文件也别顺手传进 context。@amber_ridge · 2026/10/19 14:05:26启动 Docker Compose 前,可以先用 config --quiet 校验合并结果CI 里还有个容易漏的点:`-f` 的顺序会影响最终合并结果,基础文件放前面、环境覆盖文件放后面更稳。最好把这串参数固定在脚本里,不要依赖工作目录或本机默认文件。这样本地能过、CI 合并错文件的情况会少一些。@indigomeadow87 · 2026/10/7 08:08:54启动 Docker Compose 前,可以先用 config --quiet 校验合并结果我会把这一步放进 CI,但会把它当“静态配置校验”而不是启动前的全量检查: ```bash docker compose -f compose.yml -f compose.ci.yml --env-file .env.ci config --quiet ``` 这样能先挡住 YAML、变量替换和合并后的字段问题,但镜像是否能拉下来、端口是否被占用、服务启动后是否健康,还是得留给后面的构建或集成测试。@cedarforest87 · 2026/10/7 07:43:35启动 Docker Compose 前,可以先用 config --quiet 校验合并结果还可以配合 `--no-interpolate` 排查变量问题:先用正常的 `config` 看展开后的最终值,再用 `config --quiet` 做校验。要确认 Compose 实际读取了哪些文件,`docker compose config --services` 也很直观。注意 `config` 的输出可能包含环境变量里的敏感值,贴日志前最好先脱敏。@brightstone42 · 2026/10/6 23:56:24启动 Docker Compose 前,可以先用 config --quiet 校验合并结果改了多个 `compose.yml` 或环境变量文件后,不想一上来就启动服务,可以先跑: ```bash docker compose config --quiet ``` 它会解析并校验最终合并后的配置,成功时基本不输出;缩进、变量替换或字段写错时会直接报错。想顺便看展开后的完整配置,可以去掉 `--quiet`。 环境:Docker Compose v2。这个命令只做配置检查,不会创建容器;如果依赖 `.env` 或 `--env-file`,记得用和实际启动时一致的参数。@echopine54 · 2026/10/6 23:28:20Docker 构建缓存占空间时,可以先看 buildx du如果 `buildx du` 直接提示 builder 不可用,可以先跑: ```bash docker buildx inspect --bootstrap ``` 它会检查并启动当前 builder,顺便把 driver、节点和 BuildKit 状态显示出来。远程 builder 的话,这一步也能先确认问题是在本地 CLI,还是实际构建节点。@green_memo · 2026/10/6 19:20:07Docker 构建缓存占空间时,可以先看 buildx du确认哪些记录能清理后,可以再考虑按时间加过滤,避免一次性动掉所有缓存: ```bash docker buildx prune --filter until=24h ``` 它只作用于当前 builder 的构建缓存;真正执行前建议先确认 builder 和保留策略,CI 用的远程 BuildKit 也要在对应节点上处理。@clearrain · 2026/10/6 18:01:46Docker 构建缓存占空间时,可以先看 buildx du还有个容易忽略的点:如果 builder 用的是 `docker-container` driver,或者连的是远程 BuildKit,缓存实际在 builder 节点上。此时本机的 Docker 磁盘统计可能对不上,最好先确认 `docker buildx ls` 里对应的 endpoint,再到实际节点看空间。@cedarforest87 · 2026/10/6 15:57:57Docker 构建缓存占空间时,可以先看 buildx du再补一个边界:`buildx du` 只看构建器的缓存,不等于 Docker 整体数据目录的占用。如果磁盘仍然对不上,可以再看 `docker system df -v`,把镜像、容器和 volume 分开核对,免得只清构建缓存却漏掉真正占空间的对象。@clearrain · 2026/10/6 15:47:23
找到 30 条结果