The Curious Engineer

All blogs / DevOps / SRE / infrastructure

iximiuz Labs

labs.iximiuz.com

Practice on real servers, solve challenges, and follow guided Linux, Docker, Kubernetes, and Networking learning paths — all from your browser or via SSH.

DevOps / SRE / infrastructureLinux / UnixNetworkingSecurity

Posts
79 from 17 Jun 2023 to 29 Oct 2026
Posting
weekly (63 in the last year)
Kind
company blog
Feed
https://labs.iximiuz.com/feed.atom

2026 63

  1. Challenge: Pull a Deployment's Image from a Private Registry
  2. Blog Post: How I added dynamic social preview images to my site for almost nothing
  3. Challenge: Connect a Container to a Service Bound to Localhost on the Docker Host
  4. Challenge: Connect a Container to a Service Running on the Docker Host
  5. Challenge: Harden a Django GraphQL API: Five Classic Flaws
  6. Challenge: Intercept and Analyze Encrypted Traffic of a Suspicious Container
  7. Challenge: Redirect a Container's Requests Without Modifying the App
  8. Shell Gym: Kubernetes Gym: ConfigMaps, Secrets and Downward API
  9. Shell Gym: Kubernetes Gym: Storage
  10. Challenge: Safe Node Drain With a Disruption Budget
  11. Challenge: Lock Down Container Syscalls With Seccomp Profiles
  12. Challenge: Roll Out Pod Security Standards Across Three Namespaces
  13. Challenge: Troubleshoot an Ingress That Returns 503 Service Unavailable
  14. Challenge: Troubleshoot an Ingress That Returns 404 Not Found
  15. Challenge: Reach a Distroless Container's Debug Endpoint From a Sidecar Container
  16. Challenge: Run the Application's Test Suite in a Container Without Network Access
  17. Challenge: Turn Off a Feature Flag in a Production Redis Server Using a Local Containerized redis-cli
  18. Challenge: Docker 101: List Docker Networks and Inspect the Default Bridge
  19. Challenge: Docker 101: Publish All Exposed Ports on Random Host Ports to Avoid Port Conflicts
  20. Challenge: Docker 101: Publish a Redis Container Port on the Private Network Only
  21. Shell Gym: Kubernetes Gym: Jobs and CronJobs
  22. Tutorial: How Kubernetes Operators Work: Building a Controller From Scratch
  23. Tutorial: How Kubernetes CRDs Work: Designing a Validated API From Scratch
  24. Challenge: Docker 101: Reach a Container Without Publishing a Port
  25. Challenge: Node Is Ready, but Pods Won't Schedule
  26. Challenge: Docker 101: Publish a PostgreSQL Container Port on Localhost Only
  27. Challenge: Split a Deployment Evenly Across Two Zones
  28. Challenge: Migrate a Traefik Ingress to the Gateway API and Cut Traffic Over
  29. Challenge: Docker 101: Publish a Container Port to Access the App from the Host
  30. Challenge: Verify Downloaded Files with SHA-256 Checksums
  31. Challenge: Call an HTTP API with curl: Authenticating with Basic Auth and Bearer Tokens
  32. Challenge: Call an HTTP API with curl: Processing JSON Responses with jq
  33. Challenge: Call an HTTP API with curl: Creating, Updating, and Deleting Resources
  34. Challenge: Call an HTTP API with curl: Reading Resources
  35. Challenge: Identify the Source of Unexpected Requests in a Kubernetes Cluster
  36. Challenge: Identify the Source of Unexpected Requests in an On-Prem Network
  37. Challenge: DNS 101: Resolve Public, Internal, and Local Hostnames
  38. Playground: SilverStack WordPress Server
  39. Shell Gym: Kubernetes Gym: ReplicaSets and Deployments
  40. Skill Path: Learn Linux by Fixing Broken Servers
  41. Shell Gym: Linux 101: List Files and Use Patterns
  42. Shell Gym: Linux 101: Create Files and Directories
  43. Shell Gym: Linux 101: Navigate the Filesystem
  44. Challenge: Inspect Network Interfaces, IP Addresses, and Routes on a Linux Host
  45. Shell Gym: Kubernetes Gym: Pods
  46. Shell Gym: Linux 101: Get Unstuck in the Shell
  47. Challenge: Debug a Go Container Image That Fails to Start After a Recent Change
  48. Tutorial: Secure Machine-to-Machine Access with mTLS and Pomerium
  49. Challenge: Debug a Pod Stuck at 0/1 Ready Due to a Readiness Probe
  50. Challenge: Pick and Deploy the Least Permissive NetworkPolicy
  51. Shell Gym: Linux 101: Meet the Linux Shell
  52. Playground: Doom Perf Lab
  53. Challenge: Access a Private Kubernetes API Server Through an SSH SOCKS Proxy
  54. Challenge: CKA Practice: Recover a NotReady Node After a Kubelet Configuration Error
  55. Challenge: Kubernetes - Multi-Container Pod Design Patterns
  56. Challenge: CKA Practice: Renew Expiring Control Plane Certificates
  57. Challenge: CKA Practice: Recover a Broken Static Control-Plane Pod
  58. Challenge: Issue Per-Pod mTLS Certificates with PodCertificateRequest
  59. Thoughts on OpenAI's accidental attack against Hugging Face
  60. Are user namespaces good for your health?
  61. Docker 101: Pull Container Images from Different Registries
  62. All The Ways To Loop and Iterate in eBPF
  63. A grounded take on agentic coding for production environments

2025 3

  1. Server-Side Playgrounds Reimagined: Build, Boot, and Network Your Own Virtual Labs
  2. Server-Side Playgrounds Reimagined: Build, Boot, and Network Your Own Virtual Labs
  3. Build a Production-Ready Node.js Container Image: SvelteKit Application

2024 2

  1. Read Container Image Labels Using ctr
  2. Network Access to a Container Started by ctr

2023 5

  1. Exploring Tetragon - A Security Observability Tool for Kubernetes, Docker, and Linux
  2. [not a] Kubernetes 101 - Pods, Deployments, and Services As an Attempt To Automate Age-Old Infra Patterns
  3. JavaScript or TypeScript? How To Benefit From the Dichotomy
  4. On Software Design... and Good Writing
  5. Building a Firecracker-Powered Course Platform To Learn Docker and Kubernetes

Undated 6

  1. Kubernetes Cluster
  2. Docker
  3. Ubuntu 26.04
  4. Coding Agent Base
  5. FlexBox
  6. Kubernetes Cluster (K3s)