[英]Java Swing GUI in a Centos 7 Docker container on a Windows Host
我正在從 centos:7 構建一個 Docker 映像(我在基本 Linux 映像上很靈活),它將在 Windows 10 主機上運行 Java Swing 應用程序。 嘗試運行 Docker 映像時,出現以下異常:
java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) ~[?:1.8.0_302]
at java.awt.Window.<init>(Window.java:536) ~[?:1.8.0_302]
at java.awt.Frame.<init>(Frame.java:420) ~[?:1.8.0_302]
at java.awt.Frame.<init>(Frame.java:385) ~[?:1.8.0_302]
at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1763) ~[?:1.8.0_302]
at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1838) ~[?:1.8.0_302]
at javax.swing.JDialog.<init>(JDialog.java:272) ~[?:1.8.0_302]
at javax.swing.JDialog.<init>(JDialog.java:206) ~[?:1.8.0_302]
我是使用了錯誤的 Linux 風格還是我沒有正確配置它? 我希望生成的圖像是獨立的,並且不需要在主機上安裝任何額外的軟件。 這可能嗎?
因此,如果您希望您的 docker 容器在 Windows 機器上打開一個窗口,請配置一個 X 服務器( https://teamdynamix.umich.edu/TDClient/47/LSAPortal/KB/ArticleDet?ID=1797 )以便它接受連接,然后通過設置環境變量DISPLAY
告訴容器如何連接到該 X 服務器。
在容器下次啟動時,錯誤應該消失或不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.