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

GitLab-CI中Docker Run运行Windows容器出现乱码输出问题排查

GitLab-CI中Windows Docker容器输出乱码问题解决

本地执行docker run输出正常,但GitLab-CI中出现乱码,核心原因是Windows容器内PowerShell默认编码与GitLab Runner环境的编码不匹配(GitLab通常期望UTF-8输出),需要调整ENTRYPOINT配置来统一编码。

修改方案

  • 直接调整ENTRYPOINT,强制PowerShell以UTF-8编码输出:

    FROM mcr.microsoft.com/windows/servercore:ltsc2022
    [...]
    ENTRYPOINT ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass", "-Command", "$OutputEncoding = [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new(); & $args"]
    

    该配置会在PowerShell启动时立即设置输出编码为UTF-8,确保GitLab-CI能正确解析输出内容。

  • 可选方案:通过环境变量指定编码(部分镜像适用):

    FROM mcr.microsoft.com/windows/servercore:ltsc2022
    ENV LC_ALL=en_US.UTF-8
    ENV LANG=en_US.UTF-8
    [...]
    ENTRYPOINT ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]
    

    部分Windows容器镜像可通过环境变量触发编码适配,但第一种直接强制编码的方式兼容性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:09:54