اگه کار میکنی روی یک برنامه یا سرویسی که اجرا می شود روی سیستم عامل های متعدد، داکر می تواند استقرار آن را ساده کند process.

با داکر container ایجاد، شما می توانید بدون زحمت چندین برنامه یا خدمات را راه اندازی کنید روی سیستم هایی مانند میزبانی سرور خصوصی مجازی یا ماشین های اختصاصی. Docker همچنین سبک وزن است، استقرار آن آسان تر است و عملکرد بهتری نسبت به ماشین های مجازی ارائه می دهد.

کانتینرهای Docker تمام وابستگی های لازم برای اجرای برنامه ها را دارند و مشکلات سازگاری را از بین می برند. ایجاد کانتینرهای Docker از ابتدا برای هر پروژه توسعه ای که با استفاده از این نرم افزار منبع باز مستقر شود، حیاتی است.

این آموزش شما را در ساخت داکر راهنمایی می کند container، جزئیات مزایای آن در توسعه نرم افزار و بهترین شیوه های کلیدی.

یک داکر container یک بسته نرم افزاری مستقل با تمام وابستگی های لازم برای اجرای یک برنامه خاص است روی سیستم عامل های مختلف تصویر Docker تمام دستورالعمل‌های پیکربندی را برای راه‌اندازی یا توقف کانتینرها دیکته می‌کند. یک جدید container هر زمان که کاربر تصویری را اجرا کند ایجاد می شود.

چرا از ظروف داکر استفاده کنیم؟

کانتینرهای Docker یک تغییر دهنده بازی برای توسعه دهندگان امروزی هستند. با container جداسازی، برنامه های شما می توانند اجرا شوند روی همان سیستم عامل در حالی که از سایر سیستم عامل ها و کانتینرها جدا می ماند. این ویژگی عملکرد ثابت را در محیط های توسعه و مرحله بندی تضمین می کند.

برای مشاغل، کانتینرهای Docker سرعت استقرار را افزایش داده و استفاده از منابع سیستم را به حداکثر می‌رسانند. از نظر منابع، داکر container استقرار به حافظه کمتری نسبت به ماشین مجازی نیاز دارد. علاوه بر این، ماهیت قابل حمل آنها مهاجرت و مقیاس‌بندی برنامه‌های قدیمی را ممکن می‌سازد.

به طور خلاصه، کانتینرهای Docker توسعه را بهینه می کنند process، صرفه جویی در زمان ارزشمند و کمک به موفقیت مقرون به صرفه پروژه های توسعه برنامه شما.

چگونه یک داکر بسازیم Container

در این آموزش از اوبونتو 22.04 سرور خصوصی مجازی برنامه Docker را نصب کنید و با استفاده از کلاینت PuTTY SSH به VPS خود دسترسی پیدا کنید.

هاستینگer برنامه های میزبانی VPS یک Ubuntu 22.04 64bit راحت را با یک الگوی سیستم عامل Docker ارائه می دهند. دسترسی به آن از طریق سیستم عامل بخش و آن را در زیر انتخاب کنید برنامه های کاربردی فهرست کشویی.

با هاستینگer، می توانید از VPS AI Assistant برای استفاده کامل از هاست خود استفاده کنید. از ارائه راهنمای نصب تا توصیه دستورات مناسب، هدف دستیار هوش مصنوعی ما ساده کردن وظایف مدیریت VPS است. این ویژگی از طریق hPanel قابل دسترسی است و در حال حاضر در نسخه بتا است.

نکته حرفه ای

مقاله ما را بررسی کنید روی روش نصب داکر روی اگر برای انجام دستی آن به کمک نیاز دارید اوبونتو. ما همچنین یک راهنمای نصب Docker برای کاربران داریم روی CentOS 7.

این مراحل Docker Containerization را دنبال کنید تا برنامه خود را در یک محیط ایزوله اجرا کنید.

1. یک تصویر داکر بسازید

یک تصویر Docker یک طرح اولیه برای شما است container. تمام کدها، کتابخانه ها و وابستگی هایی که برنامه شما برای اجرا نیاز دارد را در خود نگه می دارد.

هنگامی که یک تصویر Docker را اجرا می کنید، که می تواند به صورت خصوصی یا عمومی به اشتراک گذاشته شود روی پلتفرم هایی مانند داکر هاب، به داکر تبدیل می شود container.

در حالی که ایجاد یک تصویر Docker جدید امکان پذیر است، استفاده از یک تصویر پایه و ایجاد آن عملی تر است. از این دستور برای لیست کردن تمام تصاویر Dockers استفاده کنید روی سیستم شما:

sudo docker images

برای اطلاعات بیشتر روی تصاویر داکر موجود، از دستور زیر استفاده کنید:

sudo docker images --help

استفاده کنید -q گزینه ای از طریق خط فرمان برای لیست شناسه های عددی تصاویر موجود روی سیستم شما:

sudo docker images -q

برای فهرست کردن همه تصاویر غیر آویزان که توسط یک تصویر جدید برچسب گذاری یا ارجاع نشده اند container، از این دستور در خط فرمان استفاده کنید:

sudo docker images -f dangling=false

اگر سیستم شما تصویر داکر ندارد، می‌توانید از ابتدا یکی بسازید یا یک تصویر پایه وارد کنید. گزینه دوم کاربردی تر است، زیرا Docker Hub تصاویر پایه متعددی را ارائه می دهد که به راحتی در دسترس هستند.

برای این آموزش، یک تصویر را بر اساس تصویر می کشیم روی MySQL. توجه داشته باشید که می توانید از هر تصویر بازدید کنید page برای اطلاعات بیشتر

بر اساس تصویر رسمی داکر on MySQL.

با اجرای دستور زیر تصویر جدید را به دایرکتوری فعلی وارد کنید روی خط فرمان به یاد داشته باشید که جایگزین کنید <نام تصویر یا شناسه تصویر> با نام یا شناسه تصویر انتخابی شما.

docker pull <image name or image id>
نصب Docker از طریق سرویس گیرنده SSH.نصب Docker از طریق سرویس گیرنده SSH.

نکته حرفه ای

برای صرفه جویی در حافظه، تصاویر استفاده نشده Docker را حذف کنید.

2. یک Dockerfile بنویسید

Dockerfile یک فایل متنی است که به داکر می‌گوید چگونه تصویر شما را بسازد. تمام دستورات Docker مورد نیاز برای مونتاژ a را فهرست می کند container تصویر استفاده از Dockerfile تضمین می‌کند که تصاویر شما هر بار به یک شکل ساخته می‌شوند و کار شما را سازگارتر و مدیریت آن آسان‌تر می‌کند.

پیشنهاد می‌کنیم بخوانید:  15 بهترین تم وردپرس Elementor و چرا باید از یکی استفاده کنید

در اینجا یک نمونه از یک قالب ساده Dockerfile آورده شده است:

FROM ubuntu:latest
WORKDIR /app
COPY . .
RUN apt-get update && apt-get install -y curl
CMD ["curl", "https://www.example.com"]

در یک Dockerfile، هر دستور یک لایه جدید در تصویر داکر ایجاد می کند. در اینجا روش عملکرد آن، همانطور که در مثال ما نشان داده شده است:

  • از اوبونتو: آخرین ‒ این دستور آخرین تصویر والد اوبونتو را می کشد و آن را به عنوان لایه پایه تنظیم می کند. لایه های زیر ساخته خواهد شد روی بالای آن
  • WORKDIR / برنامه ‒ را تنظیم می کند containerدایرکتوری کار، ایجاد یک لایه جدید که به عنوان زمینه برای دستورات بعدی عمل می کند.
  • کپی 🀄 . . ‒ فایل های محلی را در همان پوشه کپی می کند container، ایجاد یک لایه اضافی حاوی فایل های پروژه شما.
  • اجرای آپدیت apt-get && apt-get install -y curl – داکر اجرا کن دستور cURL را در container، یک لایه جدید برای لیست بسته به روز شده و بسته cURL نصب شده اضافه می کند.
  • CMD [“curl”, “https://www.domain.com”] ‒ دستور پیش فرض را برای اجرای برنامه زمانی که container شروع می شود.

هر تغییری که در حین انجام container در حال اجرا است، مانند افزودن یا اصلاح فایل ها، در لایه های قابل نوشتن مربوطه نوشته می شوند. به این ترتیب، می‌توانید تنظیمات موقتی را بدون تأثیرگذاری بر تصویر پایه انجام دهید.

نکته حرفه ای

یک Dockerfile در هنگام استفاده از تصاویر از پیش ساخته شده از Docker Hub اختیاری است. با این حال، برای سفارشی کردن یا گسترش آنها ضروری است.

3. Docker را بسازید Container

اگر یک Dockerfile جدید تهیه می کنید، به همان دایرکتوری فایل مذکور بروید و Docker را اجرا کنید ساختن دستور برای شروع ساخت تصویر جدید process. به یاد داشته باشید که جایگزین کنید <نام تصویر یا شناسه تصویر> گزینه ای با نام تگ شما

docker build -t <image name or image id>

جدید را شروع می کند container از تصویری که به تازگی با استفاده از Docker ساخته اید اجرا کن دستور:

docker run <image name or image id>

در غیر این صورت، یک تصویر از پیش ساخته شده از Docker Hub را اجرا کنید. بیایید از تصویر MySQL که قبلا کشیده ایم استفاده کنیم:

docker run mysql
ساختن یک container مستقر on یک تصویر موجودساختن یک container مستقر on یک تصویر موجود

لایه بندی کارآمد تصویر برای بهینه سازی زمان ساخت و استفاده از منابع بسیار مهم است. هر دستور در Dockerfile یک لایه جدید ایجاد می کند که Docker آن را کش می کند. هنگامی که یک تصویر را بازسازی می کنید، داکر از لایه های بدون تغییر مجدد استفاده می کند و سرعت ساخت را افزایش می دهد process.

علاوه بر این، لایه‌بندی کارآمد می‌تواند اندازه تصویر را کاهش دهد و کشیدن، فشار دادن یا استقرار آن را سریع‌تر کند. این عمل به ویژه برای مشاغلی که برای رقابتی ماندن نیاز به استقرار سریع دارند، حیاتی است.

4. کانتینرها را اجرا و مدیریت کنید

هنگامی که ما ایجاد می کنیم container تصویر، یکی را با استفاده از داکر شروع کنید اجرا کن فرمان جایگزین کردن با نام انتخابی شما اینجا، mysql bash نشان دهنده کدام است container ما می دویم

docker run --name <container name> -it mysql bash

از داکر استفاده کنید ps فرمان با گزینه ای برای لیست کردن کانتینرهای در حال اجرا سیستم شما. اضافه کردن سودو در ابتدای دستور آن را با مجوزهای ریشه اجرا کنید.

docker ps -a

برای دیدن قسمت بالایی از دستور Docker زیر استفاده کنید process از یک container:

docker top MyContainer
دستور Docker top بالا را نمایش می دهد process از یک دویدن container.دستور Docker top بالا را نمایش می دهد process از یک دویدن container.

برای نگاشت پورت ها بین host و container، استفاده کنید گزینه در کنار داکر اجرا کن دستور:

docker run -p host_port:container_port <image name>

پورت های نقشه برداری شما را در معرض دید شما قرار می دهد containerبرنامه به خارج، اجازه دسترسی از شما را می دهد host دستگاه. این process برای وب سرورها، پایگاه های داده یا هر برنامه کاربردی که با سیستم های خارجی متصل می شود، حیاتی است.

برای چسباندن حجم برای ذخیره سازی دائمی، از -v گزینه:

docker run -v host_directory:container_directory <image name>

پیوست کردن جلدها شما را می سازد container راه اندازی قوی تر، آسان تر برای مدیریت، و عملکرد بهتر. اطلاعات شما دست نخورده باقی می ماند حتی اگر Docker container نصب متوقف، حذف یا به روز شده است. علاوه بر این، حجم ها را می توان بین کانتینرهای مختلف به اشتراک گذاشت، که مدیریت داده ها را در چند حالت ساده می کند.container تنظیمات

نکته حرفه ای

از دستورات Docker CLI یا Docker API برای مدیریت حجم ها استفاده کنید.

با استفاده از آن می توانید منابعی مانند CPU و حافظه را محدود کنید -cpus و -حافظه گزینه ها. مثال زیر محدود می کند container حداکثر تا 0.5 CPU و 500 مگابایت رم.

docker run --cpus=0.5 --memory=500m <image name>

دستور زیر را برای توقف اجرا صادر کنید container:

docker stop MyContainer

دستور زیر نشان می دهد containerاطلاعات اضافی، از جمله container شناسه، استفاده از CPU و استفاده از حافظه:

docker stats
Containerاطلاعات با استفاده از دستور docker stats نشان داده شده است.Containerاطلاعات با استفاده از دستور docker stats نشان داده شده است.

برای خاتمه دادن به Docker container، دستور زیر را وارد کنید روی خط فرمان:

docker kill MyContainer

داکر Container بهترین شیوه ها

در اینجا برخی از بهترین روش‌ها برای اطمینان از کانتینری‌سازی کارآمد Docker آورده شده است process.

پیشنهاد می‌کنیم بخوانید:  بایگانی VPS

ظروف را سبک نگه دارید

ظروف کوچکتر سریعتر، کارآمدتر و ایمن تر هستند. آنها به سرعت مستقر می شوند، از منابع کمتری استفاده می کنند و استفاده از سخت افزار را به حداکثر می رساند. با اجزای کمتر، سطح حمله را کاهش می دهند و امنیت کلی را بهبود می بخشند.

برای ایجاد ظروف سبک وزن این نکات را دنبال کنید:

  • تصاویر پایه نور را انتخاب کنید ‒ اگر چندین تصویر مشابه دارید، یک تصویر پایه با اجزای مشترک بسازید و از آن تصاویر Docker سفارشی ایجاد کنید.
  • از ساخت های چند مرحله ای استفاده کنید ‒ فقط اجزای ضروری مانند مصنوعات و محیط را در تصویر نهایی بگنجانید.
  • فایل های غیر ضروری را حذف کنید ‒ پس از نصب بسته ها، با حذف کش غیر ضروری و فایل های موقت، عملکرد برنامه Docker خود را بهینه کنید.
  • در دستورات خاص باشید ‒ دستورات را در یک واحد ادغام کنید اجرا کن خط برای کاهش لایه های تصویر. علاوه بر این، از نصب بسته های توصیه شده یا پیشنهادی که ضروری نیستند خودداری کنید.

از تصاویر رسمی استفاده کنید

استفاده از تصاویر رسمی از داکر هاب برای ساخت تصویر داکر، پایه ای امن، بهینه و قابل اعتماد را برای کانتینرهای شما تضمین می کند. آنها اغلب برای موارد استفاده خاص طراحی می شوند و نقطه شروع کارآمدی برای توسعه برنامه های کاربردی قوی و کارآمد هستند.

از نظر امنیتی، تصاویر رسمی تحت بررسی های امنیتی کامل قرار می گیرند و به سرعت برای آسیب پذیری ها وصله می شوند. از آنجایی که تصاویر رسمی به طور گسترده مورد استفاده قرار می گیرند، به خوبی آزمایش شده و با پیکربندی ها و پلتفرم های مختلف سازگار هستند.

حد Container مجوزها

اجرای کانتینرها با امتیازات اضافی خطر امنیتی ایجاد می کند. یک هکر می تواند کنترل کامل سیستم شما را به دست آورد اگر الف container در هنگام اجرا به عنوان روت شکسته می شود.

برای حفظ امنیت سیستم، فقط مجوزهای لازم را به خود بدهید container. یک کاربر غیر ریشه برای اجرای برنامه خود در داخل ایجاد کرده و از آن استفاده کنید container. شما همچنین می توانید خود را تنظیم کنید container به حالت فقط خواندنی برای جلوگیری از تغییرات ناخواسته

اطلاعات حساس امن

وقتی داکر container شروع می شود، می توانید پیکربندی کنید متغیرهای محیطی بسته به روی برنامه یا سرویسی که در داخل آن اجرا می شود. برخی از متداول ترین متغیرها شامل اعتبار پایگاه داده، تنظیمات برنامه و مقادیر مخفی برای احراز هویت هستند.

متغیرهای محیطی داده‌های حساس را از کد و تصویر شما جدا نگه می‌دارند و آن‌ها را از کسانی که به هر دو دسترسی دارند پنهان می‌کنند. استفاده از متغیرهای محیطی همچنین تنظیمات شما را انعطاف‌پذیرتر می‌کند، زیرا می‌توانید به راحتی داده‌ها را بدون تغییر Dockerfile یا بازسازی تصویر تغییر دهید.

قدرت نفوذ Container Orchestration

Container orchestration ابزارهایی مانند Docker Compose و کوبرنتیس ساده کردن مدیریت چندcontainer برنامه های کاربردی. آنها با اجازه دادن به شما در راه اندازی چندین کانتینر با یک فرمان، استقرار را ساده می کنند.

Orchestration ابزارها همچنین مقیاس‌بندی را کنترل می‌کنند و به‌طور خودکار خدمات را با افزایش ترافیک تنظیم می‌کنند. آنها ترافیک شبکه ورودی را در چندین کانتینر توزیع می کنند و عملکرد را بهبود می بخشند.

نتیجه

Docker ابزاری ارزشمند برای توسعه‌دهندگان و کسب‌وکارهای امروزی است که محیطی ثابت، استقرار ساده و استفاده بهینه از منابع را ارائه می‌دهد. دانستن روش ساخت یک چرخه توسعه شما را کارآمدتر و ایمن تر می کند.

ما مراحل ایجاد Docker را پوشش دادیم container از یک تصویر و دستورات رایج Docker برای تکمیل process. شما همچنین بهترین روش ها را برای Docker کارآمد یاد گرفتید container مدیریت روی سرور خصوصی مجازی اوبونتو 22.04.

اگر در مورد ایجاد کانتینرهای Docker سؤالی دارید، در زیر نظر دهید.

مطالعه پیشنهادی

دستورات ضروری لینوکس + برگه تقلب رایگان
روش نصب وردپرس روی داکر
استفاده کردن هاستینگer دستیار VPS AI و درخواست های AI برای مدیریت VPS
نکات امنیتی VPS

چگونه یک داکر بسازیم Container سوالات متداول

این بخش سوالات متداول در مورد ایجاد کانتینرهای Docker را پوشش می دهد.

Docker Image در مقابل چیست؟ Container?

یک تصویر داکر طرحی برای ایجاد یک است container، کد، کتابخانه ها و وابستگی های برنامه را نگه می دارد. از سوی دیگر، یک داکر container یک نسخه در حال اجرا از یک تصویر است. هنگامی که شما شروع به یک container از یک تصویر، سیستم یک محیط زنده ایجاد می کند که در آن برنامه می تواند اجرا و تعامل داشته باشد.

آیا یک تصویر داکر می تواند چندین کانتینر داشته باشد؟

بله، می توانید از یک تصویر Docker برای ایجاد چندین کانتینر استفاده کنید. هر یک container به طور مستقل اجرا می شود و مجموعه ای از منابع و تنظیمات خاص خود را دارد. این عمل به شما امکان می دهد برنامه ها را در محیط های مختلف بدون ایجاد تصویر Docker در هر بار مقیاس بندی یا اجرا کنید و در زمان و منابع صرفه جویی کنید.

آیا می توان تصاویر Docker را ویرایش کرد؟

تصاویر Docker از لایه‌های فقط خواندنی ساخته شده‌اند، بنابراین نمی‌توانید مستقیماً آنها را ویرایش کنید. برای ایجاد تغییرات، Dockerfile یا فایل های منبع را به روز کنید و یک تصویر جدید با ساخت Docker بسازید فرمان از آنجایی که کانتینرهای موجود به طور خودکار به روز نمی شوند، باید آنها را متوقف کنید و موارد جدیدی را از تصویر ایجاد شده ایجاد کنید.