Advanced Search
Search Results
228 total results found
Assignment 1: Version your Module 3 scripts on Gitea
Goal: Take the shell scripts you wrote in Module 3, turn their folder into a real Git repository with clean commit history, and publish it to the lab's Gitea server. Where: On your lab VM, in the folder holding your Module 3 scripts. The remote is the lab Gite...
Assignment 2: Branch, conflict, resolve, and open a PR
Goal: Practice the full collaboration loop — create a feature branch, deliberately cause a merge conflict, resolve it correctly, and land your change through a pull request on Gitea. Where: On your lab VM, in the module3-scripts repository you pushed in Assign...
Module 5 — Common Linux Services
Install, configure, and reason about the services you'll meet everywhere: Nginx, relational databases (MySQL/MariaDB & PostgreSQL), MongoDB, and in-memory caches (Redis/Memcached).
Lesson: Web Server & Reverse Proxy
What you'll learn What a web server does and how Nginx fits into a typical app stack. How to install Nginx and serve a static website. How to write server blocks (virtual hosts) to host more than one site. How to put Nginx in front of an application as a reve...
Lesson: MySQL/MariaDB & PostgreSQL
What you'll learn What a relational database (RDBMS) is and the core vocabulary (table, row, SQL). How to install and connect to MySQL/MariaDB and PostgreSQL. How to create a database, a user, and grant that user access. The practical differences between MySQ...
Lesson: A Document Database
What you'll learn The difference between the document model and the relational (table) model. When a NoSQL document store is a good fit — and when it isn't. How to install MongoDB and connect with mongosh. Basic CRUD (Create, Read, Update, Delete) operations....
Lesson: Redis & Memcached
What you'll learn Why caching exists and how an in-memory cache speeds up an app. Redis core data types and common use cases (caching, sessions, queues). What Memcached is and how it differs. The trade-offs between Redis and Memcached so you can pick one. Bas...
Assignment 1: Stand up Nginx in front of an app database
Goal: Put the whole module together: create a properly isolated per-app database and user on a lab DB VM, then serve and reverse-proxy a small app through Nginx — the everyday "web tier + data tier" shape you'll meet constantly. Where: One Nginx host of your c...
Assignment 2: Cache it — add Redis and measure the difference
Goal: Prove to yourself that caching is worth it. Take the app from Assignment 1, add Redis as a cache-aside layer, and measure the response time with and without the cache so you can talk about the result. Where: The same app/Nginx host from Assignment 1, plu...
Module 6 — Containerization (Docker & Podman)
Package and run apps anywhere: container fundamentals, Docker vs Podman, networking, Compose, and building good images you push to the lab registry.
Lesson: Images, Containers & Layers
What you'll learn Explain what a container is and how it differs from a virtual machine (VM). Tell the difference between an image (the blueprint) and a container (a running instance). Understand image layers and why they make containers small and fast. Conne...
Lesson: Two Engines, One Standard
What you'll learn Describe the daemon architecture of Docker and the daemonless architecture of Podman. Explain rootful vs rootless containers and why rootless is safer. Understand the OCI standard that lets images run on any compliant engine. Decide when you...
Lesson: How Containers Talk
What you'll learn Describe the three core Docker network modes: bridge, host, and none. Publish a container port to the host with -p and read the HOST:CONTAINER syntax correctly. Connect containers on a user-defined network so they reach each other by name (b...
Lesson: Multi-Service Apps with Compose
What you'll learn Explain what Docker Compose is and why a YAML file beats a pile of docker run commands. Read and write a compose.yaml with services, networks, volumes, and environment. Use up, down, logs, and ps to run a whole stack with one command. Contro...
Lesson: Dockerfiles & Best Practices
What you'll learn Write a Dockerfile using the core instructions (FROM, WORKDIR, COPY, RUN, ENV, EXPOSE, USER, CMD). Order instructions to exploit layer caching for fast rebuilds. Apply the lab's house conventions: multi-stage builds, a pinned base image, a n...
Assignment 1: Containerize an app and push it to the registry
Goal: Take a small application, write a house-style Dockerfile for it, build a small and secure image, and push that image to the lab's private registry at 10.100.100.6 — then prove it runs from the registry copy. Where: Any lab VM that has Docker installed (D...
Assignment 2: Compose a multi-service stack
Goal: Define and run a multi-service application with Docker Compose — your app from Assignment 1 plus a database — wired together on a user-defined network, with persistent data and proper readiness ordering, all from a single compose.yaml. Where: Any lab VM ...
Module 7 — Kubernetes & Orchestration
Run containers at scale on the lab's live cluster: workloads, Jobs/CronJobs, multi-container Pods, Services/Ingress, ConfigMaps/Secrets, and persistent storage.