Kahibaro
Discord
Login
Register
☰
Home
Courses
Help
Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.
1 Introduction ▼
2 Core Concepts ▼
3 Installing Docker ▼
4 Your First Docker Container ▼
5 Working with Docker Images ▼
6 Dockerfiles – Building Your Own Images ▼
7 Managing Data with Volumes ▼
8 Networking in Docker ▼
9 Docker Compose ▼
10 Debugging and Monitoring Containers ▼
11 Security Basics ▼
12 Performance and Optimization ▼
13 Docker in Development Workflows ▼
14 Deployment Basics ▼
15 Beyond the Basics ▼
16 Practical Projects ▼
17 Troubleshooting and FAQ ▼
☰
Docker
Docker
1 Introduction
▼
1.1 What is Docker?
1.2 Why Docker?
1.3 Virtual Machines vs Containers
1.4 When Not to Use Docker
1.5 How Docker Is Used in Real Projects
2 Core Concepts
▼
2.1 Images
2.2 Containers
2.3 Docker Engine and Architecture
2.4 Docker Hub and Container Registries
2.5 Tags, Versions, and Digests
3 Installing Docker
▼
3.1 Docker on Linux
3.2 Docker on Windows
3.3 Docker on macOS
3.4 Verifying the Installation
3.5 Common Installation Issues
4 Your First Docker Container
▼
4.1 Running Your First Container
4.2 Understanding `docker run`
4.3 Interactive vs Detached Mode
4.4 Stopping and Removing Containers
4.5 Listing Containers
5 Working with Docker Images
▼
5.1 Pulling Images from Docker Hub
5.2 Listing and Removing Images
5.3 Image Layers Explained
5.4 Image Size Optimization
5.5 Inspecting Images
6 Dockerfiles – Building Your Own Images
▼
6.1 What Is a Dockerfile?
6.2 Basic Dockerfile Structure
6.3 Common Instructions (`FROM`, `RUN`, `COPY`, `CMD`, `ENTRYPOINT`)
6.4 Building Images with `docker build`
6.5 Best Practices for Dockerfiles
6.6 Multi-Stage Builds
7 Managing Data with Volumes
▼
7.1 Why Containers Are Ephemeral
7.2 Bind Mounts vs Volumes
7.3 Creating and Using Volumes
7.4 Inspecting and Removing Volumes
7.5 Real-World Examples
8 Networking in Docker
▼
8.1 Docker Networking Basics
8.2 Bridge Networks
8.3 Port Mapping
8.4 Container-to-Container Communication
8.5 Custom Networks
9 Docker Compose
▼
9.1 Why Docker Compose?
9.2 `docker-compose.yml` Structure
9.3 Defining Services, Networks, and Volumes
9.4 Running Multi-Container Applications
9.5 Web App and Database Example
9.6 Docker Compose Best Practices
10 Debugging and Monitoring Containers
▼
10.1 Viewing Logs
10.2 Executing Commands in Running Containers
10.3 Inspecting Containers
10.4 Resource Usage
10.5 Common Errors and Fixes
11 Security Basics
▼
11.1 Running Containers as Non-Root
11.2 Image Trust and Verification
11.3 Secrets and Environment Variables
11.4 Reducing Attack Surface
11.5 Security Best Practices
12 Performance and Optimization
▼
12.1 Reducing Image Size
12.2 Caching and Layer Ordering
12.3 Resource Limits
12.4 Choosing the Right Base Image
13 Docker in Development Workflows
▼
13.1 Docker for Local Development
13.2 Hot Reloading with Volumes
13.3 Docker and Git
13.4 Docker in CI/CD Pipelines
13.5 Common Development Patterns
14 Deployment Basics
▼
14.1 Running Containers in Production
14.2 Environment Configuration
14.3 Restart Policies
14.4 Logging Strategies
14.5 Basic Scaling Concepts
15 Beyond the Basics
▼
15.1 Docker Swarm Overview
15.2 Kubernetes vs Docker
15.3 Container Registries
15.4 When to Move Beyond Docker
16 Practical Projects
▼
16.1 Dockerizing a Simple Web App
16.2 Dockerizing a Backend API
16.3 Full-Stack App with Docker Compose
16.4 Common Project Pitfalls
17 Troubleshooting and FAQ
▼
17.1 Common Beginner Mistakes
17.2 Docker Command Cheat Sheet
17.3 FAQ
17.4 Useful Resources
Where to Move
Move chapter:
☰
1 Introduction
☰
1.1 What is Docker?
☰
1.2 Why Docker?
☰
1.3 Virtual Machines vs Containers
☰
1.4 When Not to Use Docker
☰
1.5 How Docker Is Used in Real Projects
☰
2 Core Concepts
☰
2.1 Images
☰
2.2 Containers
☰
2.3 Docker Engine and Architecture
☰
2.4 Docker Hub and Container Registries
☰
2.5 Tags, Versions, and Digests
☰
3 Installing Docker
☰
3.1 Docker on Linux
☰
3.2 Docker on Windows
☰
3.3 Docker on macOS
☰
3.4 Verifying the Installation
☰
3.5 Common Installation Issues
☰
4 Your First Docker Container
☰
4.1 Running Your First Container
☰
4.2 Understanding `docker run`
☰
4.3 Interactive vs Detached Mode
☰
4.4 Stopping and Removing Containers
☰
4.5 Listing Containers
☰
5 Working with Docker Images
☰
5.1 Pulling Images from Docker Hub
☰
5.2 Listing and Removing Images
☰
5.3 Image Layers Explained
☰
5.4 Image Size Optimization
☰
5.5 Inspecting Images
☰
6 Dockerfiles – Building Your Own Images
☰
6.1 What Is a Dockerfile?
☰
6.2 Basic Dockerfile Structure
☰
6.3 Common Instructions (`FROM`, `RUN`, `COPY`, `CMD`, `ENTRYPOINT`)
☰
6.4 Building Images with `docker build`
☰
6.5 Best Practices for Dockerfiles
☰
6.6 Multi-Stage Builds
☰
7 Managing Data with Volumes
☰
7.1 Why Containers Are Ephemeral
☰
7.2 Bind Mounts vs Volumes
☰
7.3 Creating and Using Volumes
☰
7.4 Inspecting and Removing Volumes
☰
7.5 Real-World Examples
☰
8 Networking in Docker
☰
8.1 Docker Networking Basics
☰
8.2 Bridge Networks
☰
8.3 Port Mapping
☰
8.4 Container-to-Container Communication
☰
8.5 Custom Networks
☰
9 Docker Compose
☰
9.1 Why Docker Compose?
☰
9.2 `docker-compose.yml` Structure
☰
9.3 Defining Services, Networks, and Volumes
☰
9.4 Running Multi-Container Applications
☰
9.5 Web App and Database Example
☰
9.6 Docker Compose Best Practices
☰
10 Debugging and Monitoring Containers
☰
10.1 Viewing Logs
☰
10.2 Executing Commands in Running Containers
☰
10.3 Inspecting Containers
☰
10.4 Resource Usage
☰
10.5 Common Errors and Fixes
☰
11 Security Basics
☰
11.1 Running Containers as Non-Root
☰
11.2 Image Trust and Verification
☰
11.3 Secrets and Environment Variables
☰
11.4 Reducing Attack Surface
☰
11.5 Security Best Practices
☰
12 Performance and Optimization
☰
12.1 Reducing Image Size
☰
12.2 Caching and Layer Ordering
☰
12.3 Resource Limits
☰
12.4 Choosing the Right Base Image
☰
13 Docker in Development Workflows
☰
13.1 Docker for Local Development
☰
13.2 Hot Reloading with Volumes
☰
13.3 Docker and Git
☰
13.4 Docker in CI/CD Pipelines
☰
13.5 Common Development Patterns
☰
14 Deployment Basics
☰
14.1 Running Containers in Production
☰
14.2 Environment Configuration
☰
14.3 Restart Policies
☰
14.4 Logging Strategies
☰
14.5 Basic Scaling Concepts
☰
15 Beyond the Basics
☰
15.1 Docker Swarm Overview
☰
15.2 Kubernetes vs Docker
☰
15.3 Container Registries
☰
15.4 When to Move Beyond Docker
☰
16 Practical Projects
☰
16.1 Dockerizing a Simple Web App
☰
16.2 Dockerizing a Backend API
☰
16.3 Full-Stack App with Docker Compose
☰
16.4 Common Project Pitfalls
☰
17 Troubleshooting and FAQ
☰
17.1 Common Beginner Mistakes
☰
17.2 Docker Command Cheat Sheet
☰
17.3 FAQ
☰
17.4 Useful Resources
Close