我將一箇舊的.NET Web API應用程序移植到Docker容器中的Heroku上運行。我正在使用單色圖像。從Heroku的Docker容器中訪問X-Server
這裏是我的Dockerfile:
FROM mono:latest
EXPOSE 5000
ENV PORT 5000
ADD ./ /api
WORKDIR /api
RUN nuget restore -NonInteractive
RUN msbuild webapi.sln /p:Configuration=Release
CMD mono /api/MyProject/bin/Release/MyProject.exe port:$PORT
非常簡單,採用最新的立體圖像,複製源,恢復的NuGet軟件包,構建解決方案,並運行它。 $ PORT環境變量由Heroku設置,或者我的本地開發環境默認爲5000。
這一切都很好,除了一個特定的API控制器生成PDF報告。該報告由PdfSharp生成,它依賴於System.Drawing程序集以進行必要的渲染。但是這意味着依賴於顯示。
當我調用該控制器生成報告時,出現以下錯誤。
Could not open display (X-Server required. Check your DISPLAY environment variable).
我需要訪問X-Server才能進行必要的渲染。我嘗試了很多東西,但總是堅持這個錯誤。