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.