Saya mencari untuk mengambil gambar buruh pelabuhan untuk membangun aplikasi java dan melihat varian gambar OpenJDK yang tersedia. Saya mencari di sini https://github.com/docker-library/openjdk/tree/master/8/jdk dan melihat alpine, slim dan windows. Apa perbedaan antara ini dan apa yang diberikan setiap varian?
java
docker
dockerfile
mailtobash
sumber
sumber
FROM
baris Dockerfiles di tautan yang Anda berikan juga informatif. Gambar Alpine jauh lebih kecil daripada gambar berbasis Debian, tetapi juga dapat menghadapi masalah kompatibilitas dalam berbagai cara.Jawaban:
Per dokumen perpustakaan buruh pelabuhan (kutipan dan tautan di bawah), berikut ringkasannya:
openjdk:<version>
Gambar defacto. Gunakan jika tidak yakin.
openjdk:<version>-buster
,openjdk:<version>-stretch
danopenjdk:<version>-jessie
buster
,jessie
ataustretch
merupakan nama kode suite untuk rilis Debian dan menunjukkan rilis mana gambar tersebut didasarkan.openjdk:<version>-alpine
Demikian pula, gambar ini didasarkan pada Alpine Linux , sehingga menjadi gambar dasar yang sangat kecil. Disarankan jika Anda membutuhkan ukuran gambar sekecil mungkin. Peringatannya adalah ia menggunakan beberapa lib yang tidak biasa, tetapi seharusnya tidak menjadi masalah bagi kebanyakan perangkat lunak. Jika ragu, periksa dokumen resmi di bawah.
openjdk:<version>
(dari 12 dan seterusnya),openjdk:<version>-oracle
danopenjdk:<version>-oraclelinux7
Dimulai dengan
openjdk:12
gambar default serta varian-oracle
dan-oraclelinux7
didasarkan pada gambar resmi Oracle Linux 7 . Biner OpenJDK dalam image default serta varian-oracle
dan-oraclelinux7
dibuat oleh Oracle dan bersumber dari komunitas OpenJDK .openjdk:<version>-slim
Gambar ini hanya berisi paket minimal yang diperlukan untuk menjalankan Java (dan kehilangan banyak pustaka Java terkait UI, misalnya). Kecuali Anda bekerja dalam lingkungan di mana hanya satu
openjdk
gambar akan dikerahkan dan Anda memiliki kendala ruang, gambar default dianjurkan atas ini.openjdk:<version>-windowsservercore
Gambar ini didasarkan pada Windows Server Core (
microsoft/windowsservercore
) .Dokumen lengkap ( versi ditunjukkan di bawah ini , versi terbaru di sini ):
sumber
Pilih gambar buruh pelabuhan dasar yang sesuai dengan kebutuhan Anda dan harap diingat bahwa ukuran gambar juga merupakan aspek penting .
Gambar dapat dianggap sebagai sekumpulan instruksi tentang cara membuat wadah. Di Docker, satu gambar dapat diwarisi dari (atau berdasarkan) gambar lain, menambahkan instruksi tambahan di atas gambar dasar. Setiap gambar terdiri dari beberapa lapisan, yang secara efektif tidak dapat diubah.
Silakan baca Membuat artikel alur build Java Docker yang sempurna .
Untuk menjalankan aplikasi java Anda membutuhkan JRE setidaknya. Misalnya, untuk proyek musim semi, gambar Anda dapat didasarkan pada
slim Alpine Linux with OpenJDK JRE
:Anda juga dapat menggunakan
docker history yourImageName
untuk melihat semua lapisan (dan ukurannya) yang membuat gambar Anda.sumber