Home - hlntzg/Inception GitHub Wiki
Welcome to the Inception wiki!
1. Docker
Docker is a tool that helps you run software in a clean and isolated way.
- Normally, when you run software, it depends on your operating system and what’s already installed.
- Docker packages the software with everything it needs to run, so it behaves the same no matter where you run it (your computer, a server, the cloud).
[!TIP] Docker is like a construction company that builds modular homes with a consistent process. No matter where they build, the house will come out exactly the same every time.
2. Container
A container is a running instance of a Docker image.
- Think of it as a small virtual environment that runs your software and its dependencies.
- It’s lightweight and starts quickly.
- You can start, stop, restart, or delete containers without affecting your main system.
[!TIP] A container is like a completed house built from the blueprint. Each house stands alone and functions independently, but was built using the same plan.
3. Docker Image
A Docker image is a read-only template used to create containers.
- It contains your application code, runtime, libraries, and settings.
- You build an image once, then use it to run many containers.
- Images are defined using a
Dockerfile
.
[!TIP] A Docker image is the architectural blueprint that shows how to build a house — the design, materials, and layout instructions.
4. Docker Compose
Docker Compose is a tool to manage multiple containers together using one simple file (docker-compose.yml
).
- Useful when your app has several parts (like a web server, database, and cache).
- You define all services, networks, and volumes in one file.
- Then run everything together with one command:
docker compose up
.\
[!TIP] Docker Compose is like the master plan for a housing development, coordinating where multiple houses, roads, and utilities go so the entire neighborhood works together.
5. Docker Network
Docker network lets containers talk to each other securely and efficiently.
- When multiple containers are part of the same network, they can communicate using container names (instead of IPs).
- You can isolate groups of containers or allow them to connect, depending on how you set up the network.
[!TIP] Docker network is like the roads and communication lines that connect houses in a neighborhood, letting them share utilities and communicate privately.
6. Docker Volume
A Docker volume is storage used by containers.
- By default, anything inside a container is lost when it stops or is removed.
- Volumes let you store data outside the container, so it persists even if the container is deleted.
- Ideal for databases, logs, and user files.
[!TIP] A Docker volume is like the basement or storage warehouse attached to a house where you keep important items safe, even if you renovate or rebuild the house.