Como Docker no es un sistema operativo, no, no hay JDK para Docker.
Según entiendo su pregunta, es que un JDK completo es demasiado grande para sus deseos, en este caso, puede intentar cambiar solo al JRE e incluir solo las bibliotecas necesarias.
JDK es el acrónimo de Java Development Kit, JRE es el de Java Runtime Engine. Por "pereza" debido a la complejidad de enumerar todas las dependencias necesarias, nadie se limita a las bibliotecas necesarias, pero ese es el camino a seguir si desea reducir el tamaño instalado al mínimo estricto.
Una forma más útil podría ser quitar algunas de las cosas instaladas que están ocupando mucho espacio:
/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
Hay dos * src.zip que se pueden eliminar, no serán de utilidad, y como puede ver, el directorio lib tiene la mitad del tamaño y dentro tiene un montón de cosas que realmente no necesita:
/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
Sin problemas, puede eliminar missoncontrol en un servidor, supongo que también puede deshacerse de visualvm, tendrá que verificar si necesita algo en este directorio lib, pero no puedo decirlo sin conocer su aplicación.
Una cosa que debe hacer en su dockerfile mientras instala oracle jdk es eliminar el .tar.gz
archivo descargado que tiene aproximadamente el mismo tamaño que el directorio resultante ya que los .jar
archivos ya están comprimidos, el tar.gz está ahí para "empaquetarlos".
Tiene que hacer todo esto en el mismo RUN
comando, encadenando &&
para evitar agregar capas donde no eliminará el tamaño al eliminar los archivos de la capa anterior.