بلوک های ساختمانی داکر: درک تصاویر

Docker به طور گسترده ای برای کانتینر کردن برنامه ها استفاده می شود. همچنین سیستم عامل های کانتینر دیگری مانند کانتینر ، RKT (موشک) و غیره وجود دارد ، اما داکر در بازار حاکم است.
در این مقاله خواهیم دید که تصویر Docker چیست؟ ، لایه های یک تصویر Docker ، و نحوه نوشتن یک تصویر Docker سفارشی.
• تصویر Docker چیست؟
تصویر Docker مانند یک الگوی آماده است. این شامل کد از پیش تعریف شده ، کتابخانه هایی است که به شما در ایجاد ظروف کمک می کند. همه در یک پرونده واحد ترکیب می شوند. بنابراین ، نیازی به ایجاد یک محیط صریح نیست زیرا آن تصویر Docker آن نوع محیط را به شما ارائه می دهد. بنابراین فقط باید تصویر Docker را اجرا کنید.
به یاد داشته باشید 📝 –
-
تصویر Docker در پرونده ای نوشته شده است که دارای پسوند نیست و نام آن پرونده Dockerfile است.
-
سلسله مراتب را به خاطر بسپار –
قبل از رفتن به درک لایه های یک تصویر داکر ، بیایید ببینیم که Dockerfile دقیقاً چگونه به نظر می رسد.
FROM openjdk:17-slim
WORKDIR ./app
COPY . .
RUN javac HelloWorld.java
CMD ["java", "HelloWorld"]
کد فوق کد تصویر ساده Docker است که با برنامه Hello World یک تصویر جاوا ایجاد می کند. بنابراین ، هنگامی که ما از این تصویر ظرف را ایجاد می کنیم ، می توانیم خروجی را ببینیم.
• در تصویر Docker لایه هایی وجود دارد
هر خط در Dockerfile به عنوان لایه ای برای تصویر Docker عمل می کند
از کد فوق ، بیایید آن را تجزیه کنیم.
FROM openjdk:17-slim
این خط به عنوان یک لایه پایه برای تصویر Docker عمل می کند. در مورد بالا ، آن خطوط باقی مانده اجرا می شوند. در برخی از تصاویر Docker ، لایه پایه اوبونتو نیز هست. در مورد ما ، OpenJDK است.
WORKDIR ./app
این خط دایرکتوری کار برای Dockerfile است. این یک فهرست کار ایجاد می کند که در آن تمام پرونده های مربوط به Dockerfile ذخیره می شوند. این خط به عنوان یک لایه دوم برای تصویر Docker عمل خواهد کرد.
COPY . .
این خط تمام پرونده های موجود در فهرست کار را که برای ایجاد تصویر Docker لازم است کپی می کند. این سومین لایه برای تصویر Docker است.
RUN javac HelloWorld.java
پس از کپی کردن تمام پرونده ها در فهرست کار ، این خط اجرا می شود و تصویر Docker ایجاد می شود. این چهارمین لایه برای تصویر Docker است.
CMD ["java", "HelloWorld"]
این خط در هنگام ایجاد کانتینر اجرا می شود. این پنجمین لایه برای تصویر Docker است.
حال ، بیایید یک تصویر Docker از برنامه Simple Java Hello World را از کدی که در بالا ذکر شد ، ایجاد کنیم.
فرمان برای ایجاد یک تصویر docker
docker build -t java-image .
تصویر Docker ایجاد شده است.
در آخر ، بیایید یک ظرف ایجاد کنیم. بنابراین ، ما می توانیم خروجی کد جاوا را ببینیم.
به این ترتیب ، ما هر لایه ای از تصویر Docker را دیده ایم.