Export Alle Cheat Sheets

Hieronder staan alle cheat sheets achter elkaar. Klik op de knop om ze als één groot PDF-boek op te slaan.

DevOps

Docker Basics - Niveau 1

Commando's voor de Nginx oefening.

SSH naar VM

ssh student@<ip>SSH naar de gebruiker

Container & Image

docker pull nginxDownload de officiële image
docker run -d -p 80:80 --name devops-nginx nginxStart container (detached, poort 80)

In de container

docker exec -it devops-nginx bashOpen een shell in de container
apt-get update && apt-get install -y nanoInstalleer editor (voer uit in container)
echo "Ik kan docker!" > /usr/share/nginx/html/index.htmlPas HTML aan (voer uit in container)

Opslaan & Exporteren

docker commit devops-nginx devops-imageMaak image van huidige container
docker save -o ~/mijnimage.tar devops-imageSla image op als .tar in home dir
DevOps

Examen blog - Niveau 2

Complete stack met NodeJS, Postgres, Nginx & Traefik.

1. Traefik Setup (Root)

sudo -iWord root gebruiker (nodig voor Traefik setup in home)
mkdir -p ~/traefik && cd ~/traefikMaak de map aan en ga erin
docker network create gatewayMaak het gedeelde netwerk voor de proxy
docker compose up -dStart Traefik (zorg dat dashboard label aan staat)

2. Dockerfiles Bouwen

FROM node:20-bullseye WORKDIR /app COPY package*.json ./ RUN npm install COPY . . CMD ["node", "index.js"]Inhoud voor api/Dockerfile én frontend/Dockerfile

3. Configuratie (.env & Auth)

echo $(htpasswd -nb bloemkool SuperLekkerEten!)Genereer Basic Auth hash voor Admin label
API_URL=http://frontend:4000 STORAGE=postgres POSTGRES_HOST=db POSTGRES_USER=postgres POSTGRES_PWD=mysecret POSTGRES_DB=blog Voorbeeld inhoud voor .env bestand

4. Docker Compose Services

volumes: - ./admin:/usr/share/nginx/htmlNginx Admin: Mount de map, bouw GEEN image
traefik.http.routers.api.rule=Host(`...`) && PathPrefix(`/api`)Label: API routing met PathPrefix
traefik.http.middlewares.my-auth.basicauth.users=bloemkool:$$apr1$$... Label: Voeg auth middleware toe aan Admin

5. Uitvoeren & DB

docker compose up -d --buildBouw images en start de applicatie
docker compose logs -f apiCheck of API connectie maakt met DB
DevOps

Examen Todo - Niveau 2

NodeJS API, Statische Nginx Frontend & MongoDB.

1. Traefik Setup (Root)

sudo -iWord root gebruiker
mkdir -p ~/traefik && cd ~/traefikMaak map aan
docker network create gatewayMaak het netwerk aan
docker compose up -dStart Traefik (zorg voor dashboard config)

2. Dockerfiles Bouwen

FROM node:20-bullseye WORKDIR /app COPY package*.json ./ RUN npm install COPY . . CMD ["node", "index.js"]backend/Dockerfile (NodeJS)
FROM nginx:1.25 COPY . /usr/share/nginx/htmlfrontend/Dockerfile (Statische Nginx site!)

3. MongoDB Configuratie

MONGO_INITDB_DATABASE=examen MONGO_INITDB_ROOT_USERNAME=examen MONGO_INITDB_ROOT_PASSWORD=examenwachtwoord Environment variabelen voor de DB container
volumes: - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro - mongodb-data:/data/dbVolume mounts voor init script en data persistence

4. .env Bestand (API)

STORAGE=mongodb MONGODB_HOST=db MONGODB_DB=examen MONGODB_USER=examen MONGODB_PWD=examenwachtwoord Environment variabelen voor de API container

5. Docker Compose Labels

traefik.http.routers.api.rule=Host(`...`) && PathPrefix(`/api`)API Routering (Backend)
traefik.http.routers.front.rule=Host(`...`) Frontend Routering (Statisch)
DevOps

Voorbeeldexamen - ChatBox

MongoDB, Node API (poort 3000) en statische Nginx Frontend.

1. Traefik Setup (Root)

sudo -iWord root gebruiker
cd ~/traefikGa naar je traefik map (indien al aangemaakt)
docker network create gatewayZorg dat het netwerk bestaat
docker compose up -dStart Traefik (image: traefik:v2.10)

2. Dockerfiles Bouwen

FROM node:20-bullseye WORKDIR /app COPY package*.json ./ RUN npm install COPY . . CMD ["node", "index.js"]api/Dockerfile (Let op: luistert intern op 3000)
FROM nginx COPY . /usr/share/nginx/htmlfrontend/Dockerfile (Statische site)

3. MongoDB Configuratie

image: mongo:5.0.6Gebruik exact deze versie in docker-compose
volumes: - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro - mongo-data:/data/dbMount het init script en het named volume

4. Compose & Omgeving

MONGO_USER=admin MONGO_PWD=S3cret MONGO_URL=mongodb Environment variabelen voor de API service
traefik.http.routers.api.rule=Host(`...`) && PathPrefix(`/api`) traefik.http.services.api.loadbalancer.server.port=3000API Labels: Let op poort 3000!
traefik.http.routers.front.rule=Host(`...`) Frontend Labels: Root domein