Ponieważ okno dokowane nie jest systemem operacyjnym, nie ma JDK dla okna dokowanego.
Jak rozumiem twoje pytanie, to dlatego, że pełny pakiet JDK jest za duży dla twoich życzeń, w takim przypadku możesz spróbować przełączyć się tylko na JRE i zawierać tylko niezbędne biblioteki.
JDK to skrót od Java Development Kit, JRE to Java Runtime Engine. Dzięki „lenistwu” ze względu na złożoność listy wszystkich potrzebnych zależności nikt nie sprowadza się tylko do niezbędnych bibliotek, ale taka jest droga, jeśli chcesz zmniejszyć zainstalowany rozmiar do ścisłego minimum.
Bardziej użytecznym sposobem może być usunięcie niektórych zainstalowanych rzeczy, które zajmują dużo miejsca:
/usr/lib/jvm/jdk1.8.0_101$ du -hs *
776K bin
4.0K COPYRIGHT
5.7M db
208K include
4.9M javafx-src.zip
187M jre
133M lib
4.0K LICENSE
2.0M man
4.0K README.html
4.0K release
21M src.zip
108K THIRDPARTYLICENSEREADME-JAVAFX.txt
176K THIRDPARTYLICENSEREADME.txt
Istnieją dwa pliki * src.zip, które można usunąć, nie będą one przydatne, a jak widać, katalog lib jest o połowę mniejszy i zawiera wiele rzeczy, których tak naprawdę nie potrzebujesz:
/usr/lib/jvm/jdk1.8.0_101$ du -hs lib/*
120K lib/amd64
1.2M lib/ant-javafx.jar
18M lib/ct.sym
160K lib/dt.jar
20K lib/ir.idl
36K lib/javafx-mx.jar
400K lib/jconsole.jar
12K lib/jexec
60M lib/missioncontrol
4.0K lib/orb.idl
8.0K lib/packager.jar
2.4M lib/sa-jdi.jar
18M lib/tools.jar
34M lib/visualvm
Możesz bez problemu usunąć missoncontrol na serwerze, zakładam, że możesz pozbyć się visualvm, musisz sprawdzić, czy potrzebujesz czegoś w tym katalogu lib, ale nie mogę powiedzieć bez znajomości twojej aplikacji ..
Jedną rzeczą, którą powinieneś zrobić w swoim pliku docker podczas instalacji oracle jdk, jest usunięcie pobranego .tar.gz
pliku, który jest mniej więcej tego samego rozmiaru co katalog wynikowy, ponieważ .jar
pliki są już skompresowane, tar.gz jest po prostu, aby je „spakować”.
Musisz to wszystko zrobić w tym samym RUN
poleceniu, łącząc łańcuchy, &&
aby uniknąć dodawania warstw, w których nie usuniesz rozmiaru przez usunięcie plików z poprzedniej warstwy.