!! تمامی دوره های تاپ دمی رایگان شد !!

آموزش برنامه نویسی - تاپ دمی
docker چیست ؟

docker چیست ؟

کاربردی

20 فروردین، 1402

در این مقاله به معرفی سیستم توسعه نرم افزاری داکر (Docker ) می پردازیم و با کامپوننت ها و روند کار آن اشنا می شویم.

داکر (Docker ) چیست ؟

داکر (Docker) یک سیستم توسعه نرم افزاری متن باز است که توسط زبان برنامه نویسی GO توسعه یافته است و برای ساخت اپلیکیشن‌های مبتنی بر Container و بر مبنای سیستم عامل لینوکس در سال ۲۰۱۳ معرفی و راه‌اندازی شده ، با استفاده از داکر توسعه دهندگان می توانند عملیات ساخت ، اجرا و مدیریت اپلیکیشن‌ها را بهبود دهند.

هدف از ایجاد سیستم های توسعه نرم افزار چیست ؟

از مهمترین اهداف سیستم های توسعه نرم افزار نگهداری برنامه ها به صورت مستقل است تا فعالیت هرکدام بر دیگری اثر گذار نباشد یکی از این راه کار ها استفاده از ماشین مجازی (Virtual Machine) است که به وسیله ی آن برنامه ها از هم جدا می شوند ، از روش های دیگر این جدا سازی استفاده از کانتینرها ( Container ) است.

تفاوت Container و Virtual Machine

همانطور که در بخش قبل اشاره شد از مهمترین اهداف سیستم های توسعه نرم افزار نگهداری برنامه ها به صورت مستقل است برای این جدا سازی ما می توانیم از ماشین مجازی و یا کانتینر استفاده کنیم در روش Virtual Machine نرم افزار ها بر روی سخت افزاری مشترک قرار دارند ولی در روش Container هسته سیستم عامل مشترک است به همین دلیل از سرعت بیشتری نسبت به Virtual Machine ها برخوردار است.

Image چیست ؟

با استفاده از داکر (dockerfile) از تمامی مواردی که لازم داریم تا نرم افزار به درستی اجرا بشود مثل کتابخانه ها ، وابستگی ها ، پکیج ها و خود کد نرم افزار یک فایل image ساخته می شود که به صورت redOnly می باشد

کانتینر (Container) چیست ؟

با استفاده از Container ها می توانیم image ها را اجرا کنیم و در اینصورت میتوان از یک image کانتینر های مختلف را به صورت جدا گانه و بدون هیچ تداخلی راه اندازی کرد.

Dockerfile چیست ؟

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

نمونه از دستور ها موجود در فایل dockefile


FROM node

WORKDIR /app

COPY package.json /app

RUN npm install

COPY . /app

ARG DEFAULT_PORT=80

ENV PORT=$DEFAULT_PORT

EXPOSE $PORT

CMD [ "node", "server.js" ]  

Docker Hub چیست؟

docker hub یک مخزن برای قراردادن container ها می باشد که شما می توانید image های ساخته شده خود را در این سایت قرار دهید تا برای همه در دسترس باشد و از آن استفاده کنند و در صورتی که لازم داشتید می توانید از image هایی که در docker hub قرارداده شده است در پروژه های خود استفاده کنید.

در دوره آموزش داکر Docker می توانید به صورت کامل با Docker آشنا می شوید.

توسعه دهنده وب

شروع آشنایی من با دنیای برنامه نویسی 9 سال پیش بود ، اول مسیر با وردپرس آشنا شدم و بعد از اون شروع به یادگیری زبان جاوا اسکریپت کردم و رفته رفته سعی کردم یک برنامه نویس Front-end بشم که به مبحث گرافیک هم علاقه منده و هر روز تلاش میکنه تا پیشرفت کنه و اگر تجربه ای داره با بقیه به اشتراک بزاره.

مقالات مشابه