Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

228 total results found

Assignment 1: Version your Module 3 scripts on Gitea

Module 4 — Git & Version Control

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

Module 4 — Git & Version Control

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

Module 5 — Common Linux Services

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

Module 5 — Common Linux Services

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

Module 5 — Common Linux Services

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

Module 5 — Common Linux Services

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

Module 5 — Common Linux Services

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

Module 5 — Common Linux Services

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

Module 6 — Containerization (Docker & P...

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

Module 6 — Containerization (Docker & P...

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

Module 6 — Containerization (Docker & P...

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

Module 6 — Containerization (Docker & P...

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

Module 6 — Containerization (Docker & P...

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

Module 6 — Containerization (Docker & P...

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

Module 6 — Containerization (Docker & P...

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.