
در این بخش، به دنیای برنامهنویسی، الگوریتمها، شبکه و زیرساختهای فناوری میپردازیم

Docker Engine بهجای یک برنامه یکپارچه بزرگ، از اجزای کوچک و تخصصی متعددی ساخته شده است. این مقاله بررسی میکند که containerd، runc و shim چگونه در کنار هم کانتینرها را میسازند و اجرا میکنند، و چطور Open Container Initiative این معماری را شکل داد.
ایمیج داکر یک بسته فقطخواندنی است که تمام آنچه یک برنامه برای اجرا نیاز دارد را در خود جای میدهد و از چند لایه انباشتهشده تشکیل میشود، نه یک فایل واحد. این مقاله نحوه کارکرد ایمیجها، سازوکار نامگذاری و تگزنی، و دلیل اهمیت بیشتر دایجست نسبت به تگ را بررسی میکند.
کانتینرها نمونههای اجرایی سبکوزنی از ایمیجها هستند که رفتاری کاملاً متفاوت از ماشینهای مجازی دارند، هرچند هر دو برای ایزولهسازی و اجرای برنامهها به کار میروند. این مقاله این دو مدل را مقایسه میکند و نحوه راهاندازی، بررسی، دیباگ و اعمال سیاستهای ریستارت روی کانتینرها با داکر را توضیح میدهد.
تبدیل کد منبع یک برنامه به ایمیج کانتینری قابل اجرا، در داکر از یک فرآیند پنجمرحلهای ثابت پیروی میکند. این مقاله نوشتن Dockerfile، ساخت ایمیج، ارسال آن به رجیستری و اجرای آن بهعنوان کانتینر را با استفاده از یک اپلیکیشن ساده Node.js بررسی میکند.
ایمیجهای کانتینری بزرگ به معنای استقرار کندتر و سطح حمله بزرگتر هستند. این مقاله توضیح میدهد که ساخت چندمرحلهای (Multi-Stage Build) چگونه ایمیجهای نهایی را سبک نگه میدارد، و Buildx و BuildKit چطور امکان ساخت همزمان ایمیج برای چند معماری CPU را فراهم میکنند.
برنامههای مدرن اغلب از چند سرویس بههممتصل ساخته میشوند، نه یک کانتینر واحد، که این موضوع استقرار دستی را پیچیده و مستعد خطا میکند. این مقاله توضیح میدهد که Docker Compose چگونه با استفاده از یک فایل YAML ساده، یک اپلیکیشن چندکانتینری را تعریف، مستقر و مدیریت میکند، آن هم با یک دستور واحد.
Docker Model Runner امکان اجرای مستقیم مدلهای هوش مصنوعی روی سختافزار میزبان را فراهم میکند، بهجای اجرای آنها داخل کانتینر، و این کار دسترسی سریعتری به GPU میدهد در حالی که همچنان کاملاً با اکوسیستم داکر یکپارچه است. این مقاله نحوه کارکرد آن، دریافت و تست مدلها و اتصال آن به اپلیکیشنهای چتبات مبتنی بر Compose را بررسی میکند.
WebAssembly (Wasm) بهعنوان جایگزینی سبکوزن برای کانتینرهای سنتی در حال ظهور است، و داکر اکنون از ساخت، اشتراکگذاری و اجرای اپلیکیشنهای Wasm با ابزارهای آشنا پشتیبانی میکند. این مقاله نوشتن یک اپلیکیشن ساده Wasm با Spin، کانتینری کردن آن با داکر و اجرای آن بهعنوان کانتینر Wasm را بررسی میکند.
Docker Swarm گروهی از نودهای داکر را به یک کلاستر امن و بسیار در دسترس با قابلیت ارکستریشن داخلی تبدیل میکند. این مقاله ساخت یک swarm چندنودی، استقرار یک اپلیکیشن میکروسرویس بهصورت اعلانی و انجام بهروزرسانیهای تدریجی بدون از دست دادن سازگاری با وضعیت مطلوب را بررسی میکند.
شبکهسازی در داکر بر پایه یک طراحی باز به نام Container Network Model ساخته شده که توسط libnetwork پیادهسازی و با درایورهای قابلجایگزینی گسترش مییابد. این مقاله تئوری پشت شبکه داکر را بررسی کرده و نحوه ساخت و تست شبکههای bridge تکهاست، از جمله تفکیک نام و نگاشت پورت را توضیح میدهد.
فراتر از شبکههای ساده bridge، داکر امکاناتی برای اتصال مستقیم کانتینرها به VLANهای فیزیکی موجود، تفکیک خودکار نام سرویسها و توزیع ترافیک در سراسر یک کلاستر Swarm ارائه میدهد. این مقاله درایور macvlan، سرویس داخلی Service Discovery و مکانیزم Ingress Load Balancing در Swarm را بررسی میکند.
شبکههای overlay امکان میدهند کانتینرهای روی هاستهای مختلف طوری با هم ارتباط برقرار کنند که گویی یک شبکه مسطح مشترک دارند، و ستون فقرات بیشتر اپلیکیشنهای میکروسرویس ابرمحور را تشکیل میدهند. این مقاله نحوه ساخت، رمزنگاری و تست یک شبکه overlay داکر روی یک کلاستر Swarm را بررسی کرده و فناوری تونلزنی VXLAN پشت آن را توضیح میدهد.