A document designed to teach Docker fundamentals. This project serves as both a personal learning journey and an educational resource for peers interested in containerisation and DevOps tools.
Knowledge Sharing: Create a comprehensive educational resource to help future peers understand Docker and containerisation concepts.
Learning by Building: When learning something new, I believe in building something practical and meaningful related to it.
- Node.js (v18 or higher)
- npm or yarn
- Docker (for containerisation examples)
- Docker Compose (for multi-container applications)
-
Clone the repository
git clone https://github.com/StuvanFIT/Docker-Made-Simple.git cd docker-crash-course -
Navigate to the app directory
cd learning-docker-app -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173(or the port shown in your terminal via vite)
- Frontend Framework: React 18
- Language: TypeScript
- Styling: Tailwind CSS
- Build Tool: Vite
- Containerisation: Docker & Docker Compose
- Icons: Lucide React
This interactive course covers the following Docker concepts:
- Introduction to Docker - What is containerisation and why it matters
- Installation Guide - How to set up Docker on different platforms
- Images & Containers - Understanding the core Docker concepts
- Docker Registries - Working with Docker Hub and private registries
- Dockerfile - Creating custom images with best practices
- Docker Compose - Managing multi-container applications
- Docker Limitations - Understanding when and when not to use Docker
- Docker in Development Cycle - Integrating Docker into your workflow
learning-docker-app/
βββ compose/ # Docker Compose configurations
βββ learning-docker-app/ # Main React application
β βββ dist/ # Build output directory
β βββ node_modules/ # Project dependencies
β βββ public/ # Static assets
β βββ src/ # Source code
β βββ assets/ # Images, fonts, etc.
β βββ components/ # Reusable React components
β β βββ sections/ # Course section components
β βββ layouts/ # Layout components
β βββ utils/ # Utility functions
β βββ App.tsx # Main App component
β βββ DockerCourse.tsx # Main course component
β βββ NotFound.tsx # 404 page component
β βββ index.css # Global styles
β βββ main.tsx # React entry point
β βββ vite-env.d.ts # Vite type definitions
β βββ .gitignore # Git ignore rules
β βββ Dockerfile # Docker configuration for the app
β βββ eslint.config.js # ESLint configuration
β βββ index.html # HTML template
β βββ package-lock.json # Dependency lock file
β βββ package.json # Project dependencies and scripts
β βββ README.md # Project documentation
β βββ tsconfig.app.json # TypeScript config for app
β βββ tsconfig.json # Main TypeScript configuration
β βββ tsconfig.node.json # TypeScript config for Node.js
β βββ vite.config.ts # Vite configuration
The application can be deployed using:
-
Docker Container:
docker build -t docker-course-app . docker run -p 3000:80 docker-course-app -
Docker Compose:
docker-compose up -d
Note: This project is part of my personal DevOps learning journey. As I continue to learn and grow, this resource will be updated with new insights and improved content.
"The best way to learn is by doing, and the best way to solidify learning is by teaching others."