Karena buruh pelabuhan bukan sistem operasi, tidak ada JDK untuk buruh pelabuhan.
Ketika saya memahami pertanyaan Anda, itu adalah JDK penuh terlalu besar untuk keinginan Anda, dalam hal ini Anda dapat mencoba beralih ke JRE saja dan hanya menyertakan perpustakaan yang diperlukan.
JDK adalah singkatan dari Java Development Kit, JRE adalah satu untuk Java Runtime Engine. Dengan "lazyness" karena kerumitan untuk mendaftar setiap ketergantungan yang diperlukan, tidak ada yang menghapus hanya ke perpustakaan yang diperlukan, tetapi itu adalah cara untuk pergi jika Anda ingin mengurangi ukuran yang diinstal ke minimum yang ketat.
Cara yang lebih bermanfaat dapat menghapus beberapa hal yang diinstal yang menghabiskan banyak ruang:
/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
Ada dua * src.zip yang dapat dihapus, mereka tidak akan berguna, dan seperti yang Anda lihat direktori lib adalah setengah ukuran dan di dalamnya Anda memiliki banyak hal yang tidak Anda perlukan:
/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
Anda dapat tanpa masalah menghapus missoncontrol di server, saya berasumsi Anda dapat menyingkirkan visualvm juga, Anda harus memeriksa apakah Anda memerlukan sesuatu di direktori lib ini, tapi saya tidak tahu tanpa mengetahui aplikasi Anda ..
Satu hal yang harus Anda lakukan di dockerfile saat memasang oracle jdk adalah menghapus .tar.gz
file yang diunduh yang kira-kira sama ukurannya dengan direktori yang dihasilkan karena .jar
file sudah dikompresi, tar.gz ada di sana untuk "mengemas" mereka.
Anda harus melakukan semua ini dalam RUN
perintah yang sama , chaining dengan &&
untuk menghindari menambahkan lapisan di mana Anda tidak akan menghapus ukuran dengan menghapus file dari lapisan sebelumnya.