مرورگر شما از این ویدیو پشتیبانی نمی کند.
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
(صرفا برای مشاهده نمونه ویدیو، ممکن هست نیاز به شکن داشته باشید.)
بارگزاری مجدد
توضیحات دوره:
Docker، Docker Compose، پروژه های چند کانتینری، استقرار و همه چیز در مورد Kubernetes را از ابتدا بیاموزید! یاد بگیرید Docker و Kubernetes چیست و چرا ممکن است بخواهید از آنها استفاده کنید آموزش نصب و استفاده از Docker در هر سیستمی (macOS، Windows، Linux) آموزش ایجاد و استفاده از Images & Container با Docker درک موضوعات پیچیده مانند مدیریت و ماندگاری داده ها با Volumes درباره شبکه کانتینری با شبکه های Docker و کشف سرویس DNS بیاموزید نحوه استقرار برنامه های Docker - به صورت دستی، با سرویس های مدیریت شده یا با Kubernetes پیش نیازها: هیچ تجربه قبلی Docker یا Kubernetes مورد نیاز نیست! دانش اولیه توسعه (وب) مورد نیاز است - شما نیازی به دانستن زبان خاصی ندارید، اگرچه AWS (که در چند نمونه استقرار استفاده می شود، ~ 4 ساعت دوره) به کارت اعتباری نیاز دارد - همچنین می توانید به صورت غیر فعال دنبال کنید. به این دوره پرفروش Docker Kubernetes بپیوندید و دو تا از مهم ترین فناوری های توسعه را از ابتدا با جزئیات کامل یاد بگیرید!
Docker Kubernetes یکی از پرتقاضاترین فناوریها و موضوعاتی است که این روزها میتوانید یاد بگیرید.
چرا؟
زیرا آنها به طور قابل توجهی فرآیند توسعه و استقرار پروژه های نرم افزاری ساده و پیچیده را ساده می کنند. به خصوص در توسعه وب (اگرچه به آن محدود نمی شود)، Docker واقعا می تواند شما را به سطح بعدی برساند!
با Docker، به اصطلاح "Containers" را ایجاد و مدیریت می کنید - اساساً بسته هایی از کد و ابزارهای مورد نیاز برای اجرای آن کد. این کانتینرها به شما این امکان را می دهند که برنامه های خود را به روشی قابل پیش بینی و مستقل از محیط اجرا کنید - بدون توجه به جایی که نیاز به اجرای آن دارید.
برای DevOpsهای مدرن و همچنین برای توسعه محلی - به تنهایی یا در یک تیم - این یک ویژگی برنده است زیرا دیگر هیچ بحثی با عنوان "ولی روی ماشین من کار کرد" نخواهید داشت. در داخل یک ظرف کار می کند، بنابراین در همه جا کار می کند!
این دوره به شما Docker Kubernetes را از پایه با تمام تئوری های مورد نیاز و هزاران مثال و دمو آموزش می دهد!
ما تمام مفاهیم کلیدی را با جزئیات و با مثالها و دموهای عملی بررسی خواهیم کرد - از تصاویر و کانتینرها، بیش از حجم و شبکه تا توسعه و Kubernetes Cluster: این دوره همه چیز را دارد!
به طور مفصل، این دوره شامل موضوعات زیر است:
معرفی کامل از Docker، کانتینرها و اینکه چرا ممکن است بخواهید از Docker استفاده کنید
دستورالعملهای راهاندازی دقیق برای macOS و Windows
عمق در مفاهیم اصلی که باید بدانید: تصاویر کانتینر
با نحوه ایجاد تصاویر سفارشی، استفاده از تصاویر موجود و نحوه اجرای کانتینرها بر اساس چنین تصاویری آشنا شوید
یک نمای کلی از دستورات اصلی که هنگام کار با Docker به آنها نیاز دارید دریافت کنید
با نحوه کار با داده ها و نحوه ماندگاری داده ها با حجم آشنا شوید
شبکه کانتینر را کاوش کنید - با دنیای بیرون و بین چندین کانتینر
با نحوه کار با پروژه های تک و چند کانتینری آشنا شوید
دستورالعملهای استقرار عمیق: استقرار دستی و استقرار با سرویسهای مدیریتشده مانند AWS ECS
معماری مفاهیم اصلی Kubernetes را درک کنید
با نحوه ایجاد منابع، استقرار، سرویسهای Kubernetes و نحوه اجرای کانتینرهای خود با Kubernetes آشنا شوید
در پروژه های Kubernetes - با انواع مختلف حجم، عمیقاً در کار با داده ها غوطه ور شوید
کشف شبکه Kubernetes و سرویس DNS
با نحوه استقرار پروژه Kubernetes خود (به عنوان مثال AWS EKS) آشنا شوید
و خیلی بیشتر!
همه این مباحث با جزئیات بسیار با اسلایدها و تئوری و همچنین مهمتر از همه، با مثالها و نسخههای نمایشی فراوان آموزش داده میشوند!
هزاران پروژه دمو در طول دوره پیدا خواهید کرد - با استفاده از زبان های برنامه نویسی مانند NodeJS، Python یا PHP (با لاراول). برای دنبال کردن، نیازی به دانستن این زبانها ندارید، جای نگرانی نیست!
سرفصل ها و درس ها
شروع شدن
Getting Started
به دوره خوش آمدید
Welcome to the Course
داکر چیست؟
What Is Docker?
چرا Docker & Containers؟
Why Docker & Containers?
به انجمن آموزشی ما بپیوندید
Join Our Learning Community
ماشینهای مجازی در مقابل کانتینرهای داکر
Virtual Machines vs Docker Containers
Docker Setup - نمای کلی
Docker Setup - Overview
راه اندازی داکر - macOS
Docker Setup - macOS
راه اندازی داکر - ویندوز
Docker Setup - Windows
Docker Setup - Docker Toolbox برای سیستم های قدیمی
Docker Setup - Docker Toolbox for Older Systems
زمین بازی داکر
Docker Playground
مروری بر ابزارهای Docker
An Overview of the Docker Tools
نصب و پیکربندی یک IDE
Installing & Configuring an IDE
دست هایمان را کثیف کنیم!
Getting Our Hands Dirty!
طرح کلی دوره
Course Outline
چگونه از این دوره بیشترین بهره را ببرید
How To Get The Most Out Of This Course
منابع دوره
Course Resources
شروع شدن
Getting Started
به دوره خوش آمدید
Welcome to the Course
داکر چیست؟
What Is Docker?
چرا Docker & Containers؟
Why Docker & Containers?
به انجمن آموزشی ما بپیوندید
Join Our Learning Community
ماشینهای مجازی در مقابل کانتینرهای داکر
Virtual Machines vs Docker Containers
Docker Setup - نمای کلی
Docker Setup - Overview
راه اندازی داکر - macOS
Docker Setup - macOS
راه اندازی داکر - ویندوز
Docker Setup - Windows
Docker Setup - Docker Toolbox برای سیستم های قدیمی
Docker Setup - Docker Toolbox for Older Systems
زمین بازی داکر
Docker Playground
مروری بر ابزارهای Docker
An Overview of the Docker Tools
نصب و پیکربندی یک IDE
Installing & Configuring an IDE
دست هایمان را کثیف کنیم!
Getting Our Hands Dirty!
طرح کلی دوره
Course Outline
چگونه از این دوره بیشترین بهره را ببرید
How To Get The Most Out Of This Course
منابع دوره
Course Resources
تصاویر و کانتینرهای داکر: بلوکهای اصلی ساختمان
Docker Images & Containers: The Core Building Blocks
معرفی ماژول
Module Introduction
تصاویر و کانتینرها: چه چیزی و چرا؟
Images & Containers: What and Why?
استفاده و اجرای تصاویر خارجی (از پیش ساخته شده).
Using & Running External (Pre-Built) Images
هدف ما: یک برنامه NodeJS
Our Goal: A NodeJS App
ساختن تصویر خودمان با Dockerfile
Building our own Image with a Dockerfile
اجرای یک کانتینر بر اساس تصویر خودمان
Running a Container based on our own Image
EXPOSE & A Little Utility Functional
EXPOSE & A Little Utility Functionality
تصاویر فقط خواندنی هستند!
Images are Read-Only!
درک لایه های تصویر
Understanding Image Layers
اولین خلاصه
A First Summary
تصاویر و ظروف
Images & Containers
مدیریت تصاویر و کانتینرها
Managing Images & Containers
توقف و راه اندازی مجدد کانتینرها
Stopping & Restarting Containers
آشنایی با ظروف متصل و جدا شده
Understanding Attached & Detached Containers
اتصال به کانتینری که از قبل در حال اجرا است
Attaching to an already-running Container
ورود به حالت تعاملی
Entering Interactive Mode
حذف تصاویر و کانتینرها
Deleting Images & Containers
حذف خودکار ظروف متوقف شده
Removing Stopped Containers Automatically
نگاهی به پشت صحنه: بازرسی تصاویر
A Look Behind the Scenes: Inspecting Images
کپی کردن فایل ها در داخل و از یک ظرف
Copying Files Into & From A Container
نام گذاری و برچسب گذاری ظروف و تصاویر
Naming & Tagging Containers and Images
زمان تمرین: تصاویر و ظروف
Time to Practice: Images & Containers
اشتراک گذاری تصاویر - نمای کلی
Sharing Images - Overview
انتقال تصاویر به DockerHub
Pushing Images to DockerHub
کشیدن و استفاده از تصاویر به اشتراک گذاشته شده
Pulling & Using Shared Images
مدیریت تصاویر و کانتینرها
Managing Images & Containers
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
تصاویر و کانتینرهای داکر: بلوکهای اصلی ساختمان
Docker Images & Containers: The Core Building Blocks
معرفی ماژول
Module Introduction
تصاویر و کانتینرها: چه چیزی و چرا؟
Images & Containers: What and Why?
استفاده و اجرای تصاویر خارجی (از پیش ساخته شده).
Using & Running External (Pre-Built) Images
هدف ما: یک برنامه NodeJS
Our Goal: A NodeJS App
ساختن تصویر خودمان با Dockerfile
Building our own Image with a Dockerfile
اجرای یک کانتینر بر اساس تصویر خودمان
Running a Container based on our own Image
EXPOSE & A Little Utility Functional
EXPOSE & A Little Utility Functionality
تصاویر فقط خواندنی هستند!
Images are Read-Only!
درک لایه های تصویر
Understanding Image Layers
اولین خلاصه
A First Summary
تصاویر و ظروف
Images & Containers
مدیریت تصاویر و کانتینرها
Managing Images & Containers
توقف و راه اندازی مجدد کانتینرها
Stopping & Restarting Containers
آشنایی با ظروف متصل و جدا شده
Understanding Attached & Detached Containers
اتصال به کانتینری که از قبل در حال اجرا است
Attaching to an already-running Container
ورود به حالت تعاملی
Entering Interactive Mode
حذف تصاویر و کانتینرها
Deleting Images & Containers
حذف خودکار ظروف متوقف شده
Removing Stopped Containers Automatically
نگاهی به پشت صحنه: بازرسی تصاویر
A Look Behind the Scenes: Inspecting Images
کپی کردن فایل ها در داخل و از یک ظرف
Copying Files Into & From A Container
نام گذاری و برچسب گذاری ظروف و تصاویر
Naming & Tagging Containers and Images
زمان تمرین: تصاویر و ظروف
Time to Practice: Images & Containers
اشتراک گذاری تصاویر - نمای کلی
Sharing Images - Overview
انتقال تصاویر به DockerHub
Pushing Images to DockerHub
کشیدن و استفاده از تصاویر به اشتراک گذاشته شده
Pulling & Using Shared Images
مدیریت تصاویر و کانتینرها
Managing Images & Containers
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
مدیریت داده ها و کار با حجم
Managing Data & Working with Volumes
معرفی ماژول
Module Introduction
درک دسته بندی داده ها/انواع مختلف داده ها
Understanding Data Categories / Different Kinds of Data
تجزیه و تحلیل یک برنامه واقعی
Analyzing a Real App
ساخت و درک برنامه آزمایشی
Building & Understanding the Demo App
درک مسئله
Understanding the Problem
معرفی جلدها
Introducing Volumes
اولین تلاش ناموفق
A First, Unsuccessful Try
به نام Volumes To The Rescue!
Named Volumes To The Rescue!
حذف جلدهای ناشناس
Removing Anonymous Volumes
شروع به کار با Bind Mounts (اشتراک گذاری کد)
Getting Started With Bind Mounts (Code Sharing)
Bind Mounts - Shortcuts
Bind Mounts - Shortcuts
ترکیب و ادغام حجم های مختلف
Combining & Merging Different Volumes
یک تنظیم خاص NodeJS: استفاده از Nodemon در یک کانتینر
A NodeJS-specific Adjustment: Using Nodemon in a Container
Volumes & Bind Mounts: خلاصه
Volumes & Bind Mounts: Summary
حجمها و پایههای اتصال
Volumes & Bind Mounts
نگاهی به جلدهای فقط خواندنی
A Look at Read-Only Volumes
مدیریت حجم Docker
Managing Docker Volumes
استفاده از "COPY" در مقابل پایه های Bind
Using "COPY" vs Bind Mounts
همه چیز را کپی نکنید: با استفاده از فایلهای "dockerignore".
Don't COPY Everything: Using "dockerignore" Files
افزودن موارد بیشتر به فایل .dockerignore
Adding more to the .dockerignore File
کار با متغیرهای محیطی و فایلهای ".env".
Working with Environment Variables & ".env" Files
متغیرهای محیطی و امنیت
Environment Variables & Security
استفاده از Build Arguments (ARG)
Using Build Arguments (ARG)
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
مدیریت داده ها و کار با حجم
Managing Data & Working with Volumes
معرفی ماژول
Module Introduction
درک دسته بندی داده ها/انواع مختلف داده ها
Understanding Data Categories / Different Kinds of Data
تجزیه و تحلیل یک برنامه واقعی
Analyzing a Real App
ساخت و درک برنامه آزمایشی
Building & Understanding the Demo App
درک مسئله
Understanding the Problem
معرفی جلدها
Introducing Volumes
اولین تلاش ناموفق
A First, Unsuccessful Try
به نام Volumes To The Rescue!
Named Volumes To The Rescue!
حذف جلدهای ناشناس
Removing Anonymous Volumes
شروع به کار با Bind Mounts (اشتراک گذاری کد)
Getting Started With Bind Mounts (Code Sharing)
Bind Mounts - Shortcuts
Bind Mounts - Shortcuts
ترکیب و ادغام حجم های مختلف
Combining & Merging Different Volumes
یک تنظیم خاص NodeJS: استفاده از Nodemon در یک کانتینر
A NodeJS-specific Adjustment: Using Nodemon in a Container
Volumes & Bind Mounts: خلاصه
Volumes & Bind Mounts: Summary
حجمها و پایههای اتصال
Volumes & Bind Mounts
نگاهی به جلدهای فقط خواندنی
A Look at Read-Only Volumes
مدیریت حجم Docker
Managing Docker Volumes
استفاده از "COPY" در مقابل پایه های Bind
Using "COPY" vs Bind Mounts
همه چیز را کپی نکنید: با استفاده از فایلهای "dockerignore".
Don't COPY Everything: Using "dockerignore" Files
افزودن موارد بیشتر به فایل .dockerignore
Adding more to the .dockerignore File
کار با متغیرهای محیطی و فایلهای ".env".
Working with Environment Variables & ".env" Files
متغیرهای محیطی و امنیت
Environment Variables & Security
استفاده از Build Arguments (ARG)
Using Build Arguments (ARG)
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
شبکه سازی: ارتباطات کانتینری (متقابل).
Networking: (Cross-)Container Communication
معرفی ماژول
Module Introduction
مورد 1: Container to WWW Communication
Case 1: Container to WWW Communication
مورد 2: ارتباط کانتینر با ماشین میزبان محلی
Case 2: Container to Local Host Machine Communication
مورد 3: ارتباط ظرف به کانتینر
Case 3: Container to Container Communication
تجزیه و تحلیل برنامه آزمایشی
Analyzing the Demo App
ایجاد کانتینر و ارتباط با وب (WWW)
Creating a Container & Communicating to the Web (WWW)
ساخت کانتینر برای میزبانی کار ارتباطی
Making Container to Host Communication Work
ارتباط ظرف به کانتینر: یک راه حل اساسی
Container to Container Communication: A Basic Solution
معرفی شبکه های داکر: ارتباط کانتینر به کانتینر زیبا
Introducing Docker Networks: Elegant Container to Container Communication
Docker چگونه آدرس های IP را حل می کند
How Docker Resolves IP Addresses
ارتباطات و شبکه های کانتینر داکر
Docker Container Communication & Networks
درایورهای شبکه داکر
Docker Network Drivers
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
شبکه سازی: ارتباطات کانتینری (متقابل).
Networking: (Cross-)Container Communication
معرفی ماژول
Module Introduction
مورد 1: Container to WWW Communication
Case 1: Container to WWW Communication
مورد 2: ارتباط کانتینر با ماشین میزبان محلی
Case 2: Container to Local Host Machine Communication
مورد 3: ارتباط ظرف به کانتینر
Case 3: Container to Container Communication
تجزیه و تحلیل برنامه آزمایشی
Analyzing the Demo App
ایجاد کانتینر و ارتباط با وب (WWW)
Creating a Container & Communicating to the Web (WWW)
ساخت کانتینر برای میزبانی کار ارتباطی
Making Container to Host Communication Work
ارتباط ظرف به کانتینر: یک راه حل اساسی
Container to Container Communication: A Basic Solution
معرفی شبکه های داکر: ارتباط کانتینر به کانتینر زیبا
Introducing Docker Networks: Elegant Container to Container Communication
Docker چگونه آدرس های IP را حل می کند
How Docker Resolves IP Addresses
ارتباطات و شبکه های کانتینر داکر
Docker Container Communication & Networks
درایورهای شبکه داکر
Docker Network Drivers
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
ساخت برنامه های کاربردی چند کانتینری با Docker
Building Multi-Container Applications with Docker
معرفی ماژول
Module Introduction
برنامه و راه اندازی هدف ما
Our Target App & Setup
Docker کردن سرویس MongoDB
Dockerizing the MongoDB Service
داکر کردن برنامه Node
Dockerizing the Node App
انتقال React SPA به یک کانتینر
Moving the React SPA into a Container
افزودن شبکه های داکر برای ارتباطات کارآمد بین کانتینری
Adding Docker Networks for Efficient Cross-Container Communication
رفع خطاهای احراز هویت MongoDB (مرتبط برای سخنرانی بعدی)
Fixing MongoDB Authentication Errors (relevant for next lecture)
افزودن ماندگاری داده به MongoDB با حجم
Adding Data Persistence to MongoDB with Volumes
حجمها، پایههای اتصال و پرداخت برای کانتینر NodeJS
Volumes, Bind Mounts & Polishing for the NodeJS Container
بهروزرسانیهای کد منبع زنده برای ظرف React (با پایههای Bind)
Live Source Code Updates for the React Container (with Bind Mounts)
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
ساخت برنامه های کاربردی چند کانتینری با Docker
Building Multi-Container Applications with Docker
معرفی ماژول
Module Introduction
برنامه و راه اندازی هدف ما
Our Target App & Setup
Docker کردن سرویس MongoDB
Dockerizing the MongoDB Service
داکر کردن برنامه Node
Dockerizing the Node App
انتقال React SPA به یک کانتینر
Moving the React SPA into a Container
افزودن شبکه های داکر برای ارتباطات کارآمد بین کانتینری
Adding Docker Networks for Efficient Cross-Container Communication
رفع خطاهای احراز هویت MongoDB (مرتبط برای سخنرانی بعدی)
Fixing MongoDB Authentication Errors (relevant for next lecture)
افزودن ماندگاری داده به MongoDB با حجم
Adding Data Persistence to MongoDB with Volumes
حجمها، پایههای اتصال و پرداخت برای کانتینر NodeJS
Volumes, Bind Mounts & Polishing for the NodeJS Container
بهروزرسانیهای کد منبع زنده برای ظرف React (با پایههای Bind)
Live Source Code Updates for the React Container (with Bind Mounts)
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
Docker Compose: ارکستراسیون زیبا با چند کانتینر
Docker Compose: Elegant Multi-Container Orchestration
معرفی ماژول
Module Introduction
Docker-Compose: چی و چرا؟
Docker-Compose: What & Why?
ایجاد یک فایل Compose
Creating a Compose File
غواصی در پیکربندی فایل Compose
Diving into the Compose File Configuration
نصب Docker Compose در لینوکس
Installing Docker Compose on Linux
Docker Compose Up & Down
Docker Compose Up & Down
کار با چندین کانتینر
Working with Multiple Containers
اضافه کردن یک ظرف دیگر
Adding Another Container
ساخت تصاویر و درک نام کانتینر
Building Images & Understanding Container Names
Docker Compose
Docker Compose
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
Docker Compose: ارکستراسیون زیبا با چند کانتینر
Docker Compose: Elegant Multi-Container Orchestration
معرفی ماژول
Module Introduction
Docker-Compose: چی و چرا؟
Docker-Compose: What & Why?
ایجاد یک فایل Compose
Creating a Compose File
غواصی در پیکربندی فایل Compose
Diving into the Compose File Configuration
نصب Docker Compose در لینوکس
Installing Docker Compose on Linux
Docker Compose Up & Down
Docker Compose Up & Down
کار با چندین کانتینر
Working with Multiple Containers
اضافه کردن یک ظرف دیگر
Adding Another Container
ساخت تصاویر و درک نام کانتینر
Building Images & Understanding Container Names
Docker Compose
Docker Compose
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
کار با "Utility Containers" و اجرای دستورات در Containers
Working with "Utility Containers" & Executing Commands In Containers
معرفی ماژول و "ظروف کاربردی" چیست؟
Module Introduction & What are "Utility Containers"?
ظروف کاربردی: چرا از آنها استفاده می کنید؟
Utility Containers: Why would you use them?
روش های مختلف اجرای دستورات در کانتینرها
Different Ways of Running Commands in Containers
ساخت اولین کانتینر ابزار
Building a First Utility Container
استفاده از ENTRYPOINT
Utilizing ENTRYPOINT
با استفاده از Docker Compose
Using Docker Compose
ظروف ابزار، مجوزها و لینوکس
Utility Containers, Permissions & Linux
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
کار با "Utility Containers" و اجرای دستورات در Containers
Working with "Utility Containers" & Executing Commands In Containers
معرفی ماژول و "ظروف کاربردی" چیست؟
Module Introduction & What are "Utility Containers"?
ظروف کاربردی: چرا از آنها استفاده می کنید؟
Utility Containers: Why would you use them?
روش های مختلف اجرای دستورات در کانتینرها
Different Ways of Running Commands in Containers
ساخت اولین کانتینر ابزار
Building a First Utility Container
استفاده از ENTRYPOINT
Utilizing ENTRYPOINT
با استفاده از Docker Compose
Using Docker Compose
ظروف ابزار، مجوزها و لینوکس
Utility Containers, Permissions & Linux
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
یک راه اندازی پیچیده تر: یک پروژه لاراول و PHP Dockerized
A More Complex Setup: A Laravel & PHP Dockerized Project
معرفی ماژول
Module Introduction
تنظیم هدف
The Target Setup
افزودن یک کانتینر Nginx (وب سرور).
Adding a Nginx (Web Server) Container
اضافه کردن کانتینر PHP
Adding a PHP Container
افزودن کانتینر MySQL
Adding a MySQL Container
افزودن یک کانتینر ابزار Composer
Adding a Composer Utility Container
ایجاد یک برنامه لاراول از طریق کانتینر ابزار کاربردی Composer
Creating a Laravel App via the Composer Utility Container
رفع خطاها با سخنرانی بعدی
Fixing Errors With The Next Lecture
راه اندازی فقط برخی از خدمات Docker Compose
Launching Only Some Docker Compose Services
افزودن ظروف ابزار بیشتر
Adding More Utility Containers
Docker Compose با و بدون Dockerfiles
Docker Compose with and without Dockerfiles
اتصالات و کپی کردن: چه زمانی از چه چیزی استفاده کنیم
Bind Mounts and COPY: When To Use What
منابع ماژول
Module Resources
یک راه اندازی پیچیده تر: یک پروژه لاراول و PHP Dockerized
A More Complex Setup: A Laravel & PHP Dockerized Project
معرفی ماژول
Module Introduction
تنظیم هدف
The Target Setup
افزودن یک کانتینر Nginx (وب سرور).
Adding a Nginx (Web Server) Container
اضافه کردن کانتینر PHP
Adding a PHP Container
افزودن کانتینر MySQL
Adding a MySQL Container
افزودن یک کانتینر ابزار Composer
Adding a Composer Utility Container
ایجاد یک برنامه لاراول از طریق کانتینر ابزار کاربردی Composer
Creating a Laravel App via the Composer Utility Container
رفع خطاها با سخنرانی بعدی
Fixing Errors With The Next Lecture
راه اندازی فقط برخی از خدمات Docker Compose
Launching Only Some Docker Compose Services
افزودن ظروف ابزار بیشتر
Adding More Utility Containers
Docker Compose با و بدون Dockerfiles
Docker Compose with and without Dockerfiles
اتصالات و کپی کردن: چه زمانی از چه چیزی استفاده کنیم
Bind Mounts and COPY: When To Use What
منابع ماژول
Module Resources
استقرار کانتینرهای داکر
Deploying Docker Containers
معرفی ماژول
Module Introduction
از توسعه تا تولید
From Development To Production
فرآیند استقرار و ارائه دهندگان
Deployment Process & Providers
شروع با یک مثال
Getting Started With An Example
Bind Mounts در تولید
Bind Mounts In Production
معرفی AWS و EC2
Introducing AWS & EC2
اتصال به نمونه EC2
Connecting to an EC2 Instance
نصب داکر در ماشین مجازی
Installing Docker on a Virtual Machine
نصب داکر روی لینوکس به طور کلی
Installing Docker on Linux in General
هل دادن تصویر محلی ما به ابر
Pushing our local Image to the Cloud
اجرا و انتشار برنامه (در EC2)
Running & Publishing the App (on EC2)
مدیریت و به روز رسانی کانتینر/تصویر
Managing & Updating the Container / Image
معایب رویکرد فعلی ما
Disadvantages of our Current Approach
از استقرار دستی تا خدمات مدیریت شده
From Manual Deployment to Managed Services
مهم: AWS، قیمت گذاری و ECS
Important: AWS, Pricing and ECS
استقرار با AWS ECS: یک سرویس کانتینر Docker مدیریت شده
Deploying with AWS ECS: A Managed Docker Container Service
اطلاعات بیشتر در مورد AWS
More on AWS
به روز رسانی کانتینرهای مدیریت شده
Updating Managed Containers
آماده سازی اپلیکیشن چند کانتینری
Preparing a Multi-Container App
پیکربندی NodeJS Backend Container
Configuring the NodeJS Backend Container
استقرار کانتینر دوم و متعادل کننده بار
Deploying a Second Container & A Load Balancer
استفاده از Load Balancer برای یک دامنه پایدار
Using a Load Balancer for a Stable Domain
استفاده از ولوم EFS با ECS
Using EFS Volumes with ECS
معماری فعلی ما
Our Current Architecture
پایگاه های داده و کانتینرها: یک نکته مهم
Databases & Containers: An Important Consideration
انتقال به MongoDB Atlas
Moving to MongoDB Atlas
استفاده از MongoDB Atlas در تولید
Using MongoDB Atlas in Production
معماری به روز و هدف ما
Our Updated & Target Architecture
درک یک مشکل رایج
Understanding a Common Problem
ایجاد یک کانتینر "فقط ساخت".
Creating a "build-only" Container
معرفی سازه های چند مرحله ای
Introducing Multi-Stage Builds
ساخت تصویر چند مرحله ای
Building a Multi-Stage Image
استقرار یک برنامه Frontend مستقل
Deploying a Standalone Frontend App
توسعه در مقابل تولید: تفاوت ها
Development vs Production: Differences
درک اهداف ساخت چند مرحله ای
Understanding Multi-Stage Build Targets
فراتر از AWS
Beyond AWS
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
استقرار کانتینرهای داکر
Deploying Docker Containers
معرفی ماژول
Module Introduction
از توسعه تا تولید
From Development To Production
فرآیند استقرار و ارائه دهندگان
Deployment Process & Providers
شروع با یک مثال
Getting Started With An Example
Bind Mounts در تولید
Bind Mounts In Production
معرفی AWS و EC2
Introducing AWS & EC2
اتصال به نمونه EC2
Connecting to an EC2 Instance
نصب داکر در ماشین مجازی
Installing Docker on a Virtual Machine
نصب داکر روی لینوکس به طور کلی
Installing Docker on Linux in General
هل دادن تصویر محلی ما به ابر
Pushing our local Image to the Cloud
اجرا و انتشار برنامه (در EC2)
Running & Publishing the App (on EC2)
مدیریت و به روز رسانی کانتینر/تصویر
Managing & Updating the Container / Image
معایب رویکرد فعلی ما
Disadvantages of our Current Approach
از استقرار دستی تا خدمات مدیریت شده
From Manual Deployment to Managed Services
مهم: AWS، قیمت گذاری و ECS
Important: AWS, Pricing and ECS
استقرار با AWS ECS: یک سرویس کانتینر Docker مدیریت شده
Deploying with AWS ECS: A Managed Docker Container Service
اطلاعات بیشتر در مورد AWS
More on AWS
به روز رسانی کانتینرهای مدیریت شده
Updating Managed Containers
آماده سازی اپلیکیشن چند کانتینری
Preparing a Multi-Container App
پیکربندی NodeJS Backend Container
Configuring the NodeJS Backend Container
استقرار کانتینر دوم و متعادل کننده بار
Deploying a Second Container & A Load Balancer
استفاده از Load Balancer برای یک دامنه پایدار
Using a Load Balancer for a Stable Domain
استفاده از ولوم EFS با ECS
Using EFS Volumes with ECS
معماری فعلی ما
Our Current Architecture
پایگاه های داده و کانتینرها: یک نکته مهم
Databases & Containers: An Important Consideration
انتقال به MongoDB Atlas
Moving to MongoDB Atlas
استفاده از MongoDB Atlas در تولید
Using MongoDB Atlas in Production
معماری به روز و هدف ما
Our Updated & Target Architecture
درک یک مشکل رایج
Understanding a Common Problem
ایجاد یک کانتینر "فقط ساخت".
Creating a "build-only" Container
معرفی سازه های چند مرحله ای
Introducing Multi-Stage Builds
ساخت تصویر چند مرحله ای
Building a Multi-Stage Image
استقرار یک برنامه Frontend مستقل
Deploying a Standalone Frontend App
توسعه در مقابل تولید: تفاوت ها
Development vs Production: Differences
درک اهداف ساخت چند مرحله ای
Understanding Multi-Stage Build Targets
فراتر از AWS
Beyond AWS
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
Docker & Containers - A Summary
Docker & Containers - A Summary
معرفی ماژول
Module Introduction
تصاویر و ظروف
Images & Containers
دستورات کلیدی
Key Commands
داده، حجم و شبکه
Data, Volumes & Networking
Docker Compose
Docker Compose
محلی در مقابل از راه دور
Local vs Remote
گسترش
Deployment
منابع ماژول
Module Resources
Docker & Containers - A Summary
Docker & Containers - A Summary
معرفی ماژول
Module Introduction
تصاویر و ظروف
Images & Containers
دستورات کلیدی
Key Commands
داده، حجم و شبکه
Data, Volumes & Networking
Docker Compose
Docker Compose
محلی در مقابل از راه دور
Local vs Remote
گسترش
Deployment
منابع ماژول
Module Resources
شروع کار با Kubernetes
Getting Started with Kubernetes
معرفی ماژول
Module Introduction
مشکلات بیشتر با استقرار دستی
More Problems with Manual Deployment
چرا Kubernetes؟
Why Kubernetes?
Kubernetes دقیقا چیست؟
What Is Kubernetes Exactly?
Kubernetes: معماری و مفاهیم اصلی
Kubernetes: Architecture & Core Concepts
Kubernetes زیرساخت شما را مدیریت نخواهد کرد!
Kubernetes will NOT manage your Infrastructure!
نگاهی دقیق تر به گره های کارگر
A Closer Look at the Worker Nodes
نگاهی دقیق تر به گره اصلی
A Closer Look at the Master Node
شرایط و مفاهیم مهم
Important Terms & Concepts
مفاهیم اصلی Kubernetes
Kubernetes Core Concepts
منابع ماژول
Module Resources
شروع کار با Kubernetes
Getting Started with Kubernetes
معرفی ماژول
Module Introduction
مشکلات بیشتر با استقرار دستی
More Problems with Manual Deployment
چرا Kubernetes؟
Why Kubernetes?
Kubernetes دقیقا چیست؟
What Is Kubernetes Exactly?
Kubernetes: معماری و مفاهیم اصلی
Kubernetes: Architecture & Core Concepts
Kubernetes زیرساخت شما را مدیریت نخواهد کرد!
Kubernetes will NOT manage your Infrastructure!
نگاهی دقیق تر به گره های کارگر
A Closer Look at the Worker Nodes
نگاهی دقیق تر به گره اصلی
A Closer Look at the Master Node
شرایط و مفاهیم مهم
Important Terms & Concepts
مفاهیم اصلی Kubernetes
Kubernetes Core Concepts
منابع ماژول
Module Resources
Kubernetes در عمل - غواصی در مفاهیم اصلی
Kubernetes in Action - Diving into the Core Concepts
معرفی ماژول
Module Introduction
Kubernetes زیرساخت شما را مدیریت نمی کند
Kubernetes does NOT manage your Infrastructure
Kubernetes: مراحل راه اندازی و نصب مورد نیاز
Kubernetes: Required Setup & Installation Steps
راه اندازی macOS
macOS Setup
راه اندازی ویندوز
Windows Setup
درک اشیاء Kubernetes (منابع)
Understanding Kubernetes Objects (Resources)
شی "استقرار" (منبع)
The "Deployment" Object (Resource)
اولین استقرار - با استفاده از رویکرد امری
A First Deployment - Using the Imperative Approach
kubectl: پشت صحنه
kubectl: Behind The Scenes
شیء "سرویس" (منبع)
The "Service" Object (Resource)
افشای یک استقرار با یک سرویس
Exposing a Deployment with a Service
راه اندازی مجدد کانتینرها
Restarting Containers
مقیاس پذیری در عمل
Scaling in Action
به روز رسانی استقرارها
Updating Deployments
بازگشت و تاریخچه استقرار
Deployment Rollbacks & History
رویکرد امری در مقابل رویکرد اعلامی
The Imperative vs The Declarative Approach
ایجاد یک فایل پیکربندی استقرار (رویکرد اعلامی)
Creating a Deployment Configuration File (Declarative Approach)
افزودن مشخصات Pod و Container
Adding Pod and Container Specs
کار با برچسب ها و انتخابگرها
Working with Labels & Selectors
ایجاد یک سرویس به صورت اعلامی
Creating a Service Declaratively
به روز رسانی و حذف منابع
Updating & Deleting Resources
فایل های پیکربندی چندگانه در مقابل فایل های منفرد
Multiple vs Single Config Files
اطلاعات بیشتر در مورد برچسب ها و انتخابگرها
More on Labels & Selectors
کاوشگر زنده بودن
Liveness Probes
نگاهی دقیق تر به گزینه های پیکربندی
A Closer Look at the Configuration Options
خلاصه
Summary
منابع ماژول
Module Resources
Kubernetes در عمل - غواصی در مفاهیم اصلی
Kubernetes in Action - Diving into the Core Concepts
معرفی ماژول
Module Introduction
Kubernetes زیرساخت شما را مدیریت نمی کند
Kubernetes does NOT manage your Infrastructure
Kubernetes: مراحل راه اندازی و نصب مورد نیاز
Kubernetes: Required Setup & Installation Steps
راه اندازی macOS
macOS Setup
راه اندازی ویندوز
Windows Setup
درک اشیاء Kubernetes (منابع)
Understanding Kubernetes Objects (Resources)
شی "استقرار" (منبع)
The "Deployment" Object (Resource)
اولین استقرار - با استفاده از رویکرد امری
A First Deployment - Using the Imperative Approach
kubectl: پشت صحنه
kubectl: Behind The Scenes
شیء "سرویس" (منبع)
The "Service" Object (Resource)
افشای یک استقرار با یک سرویس
Exposing a Deployment with a Service
راه اندازی مجدد کانتینرها
Restarting Containers
مقیاس پذیری در عمل
Scaling in Action
به روز رسانی استقرارها
Updating Deployments
بازگشت و تاریخچه استقرار
Deployment Rollbacks & History
رویکرد امری در مقابل رویکرد اعلامی
The Imperative vs The Declarative Approach
ایجاد یک فایل پیکربندی استقرار (رویکرد اعلامی)
Creating a Deployment Configuration File (Declarative Approach)
افزودن مشخصات Pod و Container
Adding Pod and Container Specs
کار با برچسب ها و انتخابگرها
Working with Labels & Selectors
ایجاد یک سرویس به صورت اعلامی
Creating a Service Declaratively
به روز رسانی و حذف منابع
Updating & Deleting Resources
فایل های پیکربندی چندگانه در مقابل فایل های منفرد
Multiple vs Single Config Files
اطلاعات بیشتر در مورد برچسب ها و انتخابگرها
More on Labels & Selectors
کاوشگر زنده بودن
Liveness Probes
نگاهی دقیق تر به گزینه های پیکربندی
A Closer Look at the Configuration Options
خلاصه
Summary
منابع ماژول
Module Resources
مدیریت داده ها و حجم ها با Kubernetes
Managing Data & Volumes with Kubernetes
معرفی ماژول
Module Introduction
شروع پروژه و آنچه از قبل می دانیم
Starting Project & What We Know Already
Kubernetes & Volumes - بیشتر از Docker Volumes
Kubernetes & Volumes - More Than Docker Volumes
جلدهای Kubernetes: تئوری و مقایسه داکر
Kubernetes Volumes: Theory & Docker Comparison
ایجاد یک استقرار و سرویس جدید
Creating a New Deployment & Service
شروع با جلدهای Kubernetes
Getting Started with Kubernetes Volumes
جلد اول: نوع "emptyDir".
A First Volume: The "emptyDir" Type
جلد دوم: نوع "hostPath".
A Second Volume: The "hostPath" Type
درک نوع حجم "CSI".
Understanding the "CSI" Volume Type
از حجم ها تا حجم های ماندگار
From Volumes to Persistent Volumes
تعریف حجم پایدار
Defining a Persistent Volume
ایجاد یک ادعای حجم پایدار
Creating a Persistent Volume Claim
استفاده از یک ادعا در یک Pod
Using a Claim in a Pod
حجم ها در مقابل حجم های ماندگار
Volumes vs Persistent Volumes
استفاده از متغیرهای محیطی
Using Environment Variables
متغیرهای محیطی و نقشه های پیکربندی
Environment Variables & ConfigMaps
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
مدیریت داده ها و حجم ها با Kubernetes
Managing Data & Volumes with Kubernetes
معرفی ماژول
Module Introduction
شروع پروژه و آنچه از قبل می دانیم
Starting Project & What We Know Already
Kubernetes & Volumes - بیشتر از Docker Volumes
Kubernetes & Volumes - More Than Docker Volumes
جلدهای Kubernetes: تئوری و مقایسه داکر
Kubernetes Volumes: Theory & Docker Comparison
ایجاد یک استقرار و سرویس جدید
Creating a New Deployment & Service
شروع با جلدهای Kubernetes
Getting Started with Kubernetes Volumes
جلد اول: نوع "emptyDir".
A First Volume: The "emptyDir" Type
جلد دوم: نوع "hostPath".
A Second Volume: The "hostPath" Type
درک نوع حجم "CSI".
Understanding the "CSI" Volume Type
از حجم ها تا حجم های ماندگار
From Volumes to Persistent Volumes
تعریف حجم پایدار
Defining a Persistent Volume
ایجاد یک ادعای حجم پایدار
Creating a Persistent Volume Claim
استفاده از یک ادعا در یک Pod
Using a Claim in a Pod
حجم ها در مقابل حجم های ماندگار
Volumes vs Persistent Volumes
استفاده از متغیرهای محیطی
Using Environment Variables
متغیرهای محیطی و نقشه های پیکربندی
Environment Variables & ConfigMaps
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
شبکه Kubernetes
Kubernetes Networking
معرفی ماژول
Module Introduction
شروع پروژه و هدف ما
Starting Project & Our Goal
ایجاد اولین استقرار
Creating a First Deployment
نگاهی دیگر به خدمات
Another Look at Services
کانتینرهای متعدد در یک غلاف
Multiple Containers in One Pod
Pod-Internal Communication
Pod-internal Communication
ایجاد چند استقرار
Creating Multiple Deployments
ارتباط Pod-to-Pod با آدرس های IP و متغیرهای محیطی
Pod-to-Pod Communication with IP Addresses & Environment Variables
استفاده از DNS برای ارتباط Pod-to-Pod
Using DNS for Pod-to-Pod Communication
کدام رویکرد بهترین است؟ و یک چالش!
Which Approach Is Best? And a Challenge!
راه حل چالش
Challenge Solution
افزودن یک Frontend Containerized
Adding a Containerized Frontend
استقرار Frontend با Kubernetes
Deploying the Frontend with Kubernetes
استفاده از یک پروکسی معکوس برای Frontend
Using a Reverse Proxy for the Frontend
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
شبکه Kubernetes
Kubernetes Networking
معرفی ماژول
Module Introduction
شروع پروژه و هدف ما
Starting Project & Our Goal
ایجاد اولین استقرار
Creating a First Deployment
نگاهی دیگر به خدمات
Another Look at Services
کانتینرهای متعدد در یک غلاف
Multiple Containers in One Pod
Pod-Internal Communication
Pod-internal Communication
ایجاد چند استقرار
Creating Multiple Deployments
ارتباط Pod-to-Pod با آدرس های IP و متغیرهای محیطی
Pod-to-Pod Communication with IP Addresses & Environment Variables
استفاده از DNS برای ارتباط Pod-to-Pod
Using DNS for Pod-to-Pod Communication
کدام رویکرد بهترین است؟ و یک چالش!
Which Approach Is Best? And a Challenge!
راه حل چالش
Challenge Solution
افزودن یک Frontend Containerized
Adding a Containerized Frontend
استقرار Frontend با Kubernetes
Deploying the Frontend with Kubernetes
استفاده از یک پروکسی معکوس برای Frontend
Using a Reverse Proxy for the Frontend
خلاصه ماژول
Module Summary
منابع ماژول
Module Resources
Kubernetes - استقرار (AWS EKS)
Kubernetes - Deployment (AWS EKS)
معرفی ماژول
Module Introduction
گزینه ها و مراحل استقرار
Deployment Options & Steps
AWS EKS در مقابل AWS ECS
AWS EKS vs AWS ECS
آماده سازی پروژه شروع
Preparing the Starting Project
نکته ای در مورد قیمت گذاری AWS EKS
A Note on AWS EKS Pricing
شیرجه به AWS
Diving Into AWS
ایجاد و پیکربندی خوشه Kubernetes با EKS
Creating & Configuring the Kubernetes Cluster with EKS
اضافه کردن گره های کارگر
Adding Worker Nodes
اعمال پیکربندی Kubernetes ما
Applying Our Kubernetes Config
شروع به کار با حجم
Getting Started with Volumes
افزودن EFS به عنوان یک جلد (با نوع حجم CSI)
Adding EFS as a Volume (with the CSI Volume Type)
ایجاد یک حجم پایدار برای EFS
Creating a Persistent Volume for EFS
با استفاده از حجم EFS
Using the EFS Volume
یک چالش!
A Challenge!
راه حل چالش
Challenge Solution
منابع ماژول
Module Resources
Kubernetes - استقرار (AWS EKS)
Kubernetes - Deployment (AWS EKS)
معرفی ماژول
Module Introduction
گزینه ها و مراحل استقرار
Deployment Options & Steps
AWS EKS در مقابل AWS ECS
AWS EKS vs AWS ECS
آماده سازی پروژه شروع
Preparing the Starting Project
نکته ای در مورد قیمت گذاری AWS EKS
A Note on AWS EKS Pricing
شیرجه به AWS
Diving Into AWS
ایجاد و پیکربندی خوشه Kubernetes با EKS
Creating & Configuring the Kubernetes Cluster with EKS
اضافه کردن گره های کارگر
Adding Worker Nodes
اعمال پیکربندی Kubernetes ما
Applying Our Kubernetes Config
شروع به کار با حجم
Getting Started with Volumes
افزودن EFS به عنوان یک جلد (با نوع حجم CSI)
Adding EFS as a Volume (with the CSI Volume Type)
ایجاد یک حجم پایدار برای EFS
Creating a Persistent Volume for EFS
با استفاده از حجم EFS
Using the EFS Volume
یک چالش!
A Challenge!
راه حل چالش
Challenge Solution
منابع ماژول
Module Resources
جمع بندی و مراحل بعدی
Roundup & Next Steps
خیلی چیزها یاد گرفتی!
You Learned A Lot!
موضوعات مرتبطی که می توانید کاوش کنید
Related Topics You Could Explore
مراحل بعدی!
Next Steps!
خلاصه دوره
Course Roundup
جایزه!
Bonus!
جمع بندی و مراحل بعدی
Roundup & Next Steps
خیلی چیزها یاد گرفتی!
You Learned A Lot!
موضوعات مرتبطی که می توانید کاوش کنید
Related Topics You Could Explore
مراحل بعدی!
Next Steps!
خلاصه دوره
Course Roundup
جایزه!
Bonus!
نمایش نظرات