জাভা 11 হ'ল সর্বশেষতম এলটিএস সংস্করণ হিসাবে ঘোষণা করা হয়েছে। সুতরাং, আমরা এই জাভা সংস্করণের উপর ভিত্তি করে নতুন পরিষেবা শুরু করার চেষ্টা করছি।
তবে জাভা 11 এর জন্য বেস ডকার চিত্রটি জাভা 8 এর সমতুল্য থেকে অনেক বড়:
openjdk:8-jre-alpine
: 84 এমবিopenjdk:11-jre-slim
: 283 এমবি
(আমি প্রতিটি অফিসিয়াল ওপেনজেডিকে এবং প্রতিটি জাভা সংস্করণের জন্য সর্বাধিক লাইটওয়েট চিত্র বিবেচনা করছি ))
গভীর খনন নিম্নলিখিত "জিনিস" অনাবৃত:
openjdk:11-jre-slim
ইমেজ বেস ইমেজ ব্যবহারdebian:sid-slim
। এটি 2 টি সমস্যা নিয়ে আসে:এটি এর চেয়ে 60 এমবি বড় larger
alpine:3.8
ডেবিয়ান
sid
সংস্করণ অস্থিতিশীল হয়
openjdk-11-jre-headless
প্যাকেজ ইমেজ মধ্যে ইনস্টল করা হয় 3 বার বৃহত্তর তুলনায়openjdk8-jre
(অভ্যন্তরীণ Docker ধারক চলমান):openjdk:8-jre-alpine
:/ # du -hs /usr/lib/jvm/java-1.8-openjdk/jre/lib/ 57.5M /usr/lib/jvm/java-1.8-openjdk/jre/lib/
openjdk:11-jre-slim
:# du -sh /usr/lib/jvm/java-11-openjdk-amd64/lib/ 179M /usr/lib/jvm/java-11-openjdk-amd64/lib/
আরও গভীরে গিয়ে আমি আবিষ্কার করেছিলাম এই ভারীকরণের "মূল" - এটি জেডিকে-র
modules
ফাইল:# ls -lhG /usr/lib/jvm/java-11-openjdk-amd64/lib/modules 135M /usr/lib/jvm/java-11-openjdk-amd64/lib/modules
সুতরাং, এখন যে প্রশ্নগুলি এসেছে:
alpine
জাভা ১১ টি স্লিম চিত্রের জন্য কেন বেস ইমেজ হিসাবে আর ব্যবহার করা হচ্ছে না?এলটিএস জাভা চিত্রগুলির জন্য কেন অস্থির সিড সংস্করণ ব্যবহার করা হচ্ছে?
ওপেনজেডকে ১১ এর জন্য স্লিম / হেডলেস / জেআরই প্যাকেজটি কেন একই জাতীয় ওপেনডিজিডি 8 প্যাকেজের তুলনায় এত বড়?
- এই মডিউল ফাইলটি কী যা ওপেনজেডকে 11-এ 135 এমবি নিয়ে আসে?
ইউপিডি : এই চ্যালেঞ্জগুলির সমাধান হিসাবে কেউ এই উত্তরটি ব্যবহার করতে পারে: জাকার ১১ অ্যাপ্লিকেশনটি ডকার চিত্র হিসাবে