I have Hello work Java app
package org.example;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.Border;
public class HelloWorldSwing {
private static void createAndShowGUI() {
JFrame jFrame = new JFrame("Hello World Swing Example");
jFrame.setLayout(new FlowLayout());
jFrame.setSize(500, 360);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Hello World Swing");
Border border = BorderFactory.createLineBorder(Color.BLACK);
label.setBorder(border);
label.setPreferredSize(new Dimension(150, 100));
label.setText("Hello World Swing");
label.setHorizontalAlignment(JLabel.CENTER);
label.setVerticalAlignment(JLabel.CENTER);
jFrame.add(label);
jFrame.setVisible(true);
}
public static void main(String[] args) {
createAndShowGUI();
}
}
When I am running this app on Docker I get error:
Attaching to app-1
app-1 | Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/local/openjdk-17/lib/libawt_xawt.so: libXext.so.6: cannot open shared object file: No such file or directory
app-1 | at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
app-1 | at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:384)
app-1 | at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:228)
app-1 | at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:170)
app-1 | at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389)
app-1 | at java.base/java.lang.Runtime.load0(Runtime.java:755)
app-1 | at java.base/java.lang.System.load(System.java:1953)
Does someone know proper Docker image with all libs on it?