如何让docker-compose up --build命令静默运行?
解决docker-compose up --build 构建日志无法屏蔽的问题
问题根源
docker-compose up的--quiet、--log-level ERROR等参数仅作用于容器启动后的运行日志,无法控制镜像构建阶段的输出。构建过程的日志由docker build模块独立处理,而docker-compose up --build本身没有直接传递构建静默参数的入口。
可用解决方案
拆分构建与启动命令:先单独执行带静默参数的构建命令,再启动容器
docker-compose build --quiet docker-compose up --quietdocker-compose build --quiet会屏蔽构建过程的详细日志,仅返回最终构建结果。重定向构建日志到空设备:如果需要单条命令完成,可通过输出重定向屏蔽构建日志
- 屏蔽所有输出(包括容器运行日志):
docker-compose up --build > /dev/null 2>&1 - 仅屏蔽构建阶段的stderr输出(容器运行日志保留):
docker-compose up --build 2> /dev/null
- 屏蔽所有输出(包括容器运行日志):
启用BuildKit静默构建:通过环境变量开启Docker CLI构建模式,传递BuildKit静默参数
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose up --build --build-arg BUILDKIT_PROGRESS=quiet此方式利用BuildKit的静默构建能力,仅显示必要的构建状态信息。
内容的提问来源于stack exchange,提问作者Ali Farhoudi
相关产品推荐
相关产品推荐

