Docker ve K8s ile Konteynerleştirme
Uygulamaları konteynerleştirmek için Docker'da, konteynerleştirilmiş iş yüklerini büyük ölçekte düzenlemek için Kubernetes'te uzmanlaşın.
Docker ve K8s ile Konteynerleştirme, CoddyKit'te ücretsiz bir System Design Basics for Backend Developers dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, System Design Basics for Backend Developers öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. System Design Basics for Backend Developers kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Welcome to Containerization!
Welcome to this lesson on Containerization with Docker & Kubernetes! In modern cloud environments, packaging and managing applications efficiently is key.
You'll learn how Docker containers bundle your apps and how Kubernetes orchestrates them at scale, making your systems robust and flexible.
What are Containers?
Imagine a tiny, self-contained box for your application. That's a container!
- Isolated: Each container runs its own app and dependencies, separate from others.
- Portable: Works the same way on any machine with a container runtime.
- Lightweight: Shares the host OS kernel, unlike heavier Virtual Machines (VMs).
This consistency solves the "it works on my machine" problem.
Meet Docker: The Container Engine
Docker is the most popular platform for building, sharing, and running containers. It provides the tools to create these isolated environments.
- Docker Engine: The core software that runs and manages containers.
- Docker Image: A read-only template with instructions for creating a container.
- Docker Container: A runnable instance of a Docker image.
Crafting a Dockerfile
A Dockerfile is a plain text file that contains all the commands a user could call on the command line to assemble an image.
It's like a recipe for your container. Here are some common instructions:
FROM: Base image (e.g., Python, Node.js).WORKDIR: Sets the working directory.COPY: Copies files from your project into the image.RUN: Executes commands (e.g., install dependencies).CMD: Default command to run when the container starts.
Simple Python App for Docker
Let's look at a very simple Python application that we could containerize. This is the code that would live inside your Docker container.
Try running this example:
print("Hello from inside the container!")Building & Running with Docker
Once you have a Dockerfile and your application code (like the Python script), you can build an image and run a container.
- Build Image:
docker build -t my-python-app .(-ttags it,.uses current directory for Dockerfile) - Run Container:
docker run my-python-app
This creates and starts a container based on your image, executing the app inside.
Why Kubernetes? Orchestration
Running one container is easy. Running hundreds or thousands across many servers is hard! This is where Kubernetes (K8s) comes in.
K8s is an open-source system for automating deployment, scaling, and management of containerized applications. It acts as an "orchestrator" for your containers.
Kubernetes Pods: The Basics
In Kubernetes, the smallest deployable unit is a Pod. A Pod is an abstraction over containers.
- A Pod represents a single instance of an application.
- It typically contains one (or a few tightly coupled) containers.
- Pods share network and storage resources.
- They are ephemeral: if a Pod dies, K8s creates a new one.
Kubernetes Deployments: Managing Pods
Manually managing Pods is cumbersome. Deployments are a higher-level object in K8s that manage the lifecycle of Pods.
A Deployment allows you to:
- Declare the desired number of replica Pods.
- Perform rolling updates to new versions without downtime.
- Roll back to previous versions if issues arise.
- Ensure that a specified number of Pods are always running.
Test Your Container Knowledge
Which of the following statements correctly describe the benefits of using containers and container orchestration?
Recap: Docker & Kubernetes
You've taken a big step into cloud-native development!
- Containers package apps and dependencies into isolated, portable units.
- Docker is the popular tool to build and run these containers.
- Kubernetes orchestrates containers at scale, automating deployment, scaling, and management.
Together, they form the backbone for building resilient, scalable modern applications.
Sıkça Sorulan Sorular
“Docker ve K8s ile Konteynerleştirme” dersi ücretsiz mi?
Evet — “Docker ve K8s ile Konteynerleştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve System Design Basics for Backend Developers kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. System Design Basics for Backend Developers kursu toplamda 4 dersten oluşur.
“Docker ve K8s ile Konteynerleştirme” dersinde ne öğreneceğim?
Uygulamaları konteynerleştirmek için Docker'da, konteynerleştirilmiş iş yüklerini büyük ölçekte düzenlemek için Kubernetes'te uzmanlaşın. System Design Basics for Backend Developers ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
System Design Basics for Backend Developers öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te System Design Basics for Backend Developers, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Docker ve K8s ile Konteynerleştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu System Design Basics for Backend Developers dersinde kod yazıp çalıştırabilir miyim?
Evet. Her System Design Basics for Backend Developers dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Sunucusuz Mimariler
- Docker ve K8s ile Konteynerleştirme
- Gözlemlenebilirlik ve Dağıtık İzleme
- Kod Olarak Altyapı