Ivan Velichko
@iximiuz
Software Engineer. Educator. Entrepreneur. Bootstrapping http://labs.iximiuz.com - a learning-by-doing platform to master Linux, Containers, and Kubernetes 🚀
If you're into Linux, Networking, Containers, or Kubernetes, check out my "newsletter without news" newsletter.iximiuz.com. I send it twice a month, and each issue is packed with quality learning materials, colorful diagrams, and practical problems.




Networking 101: How to Configure Routes 🧪 Computer networking is one of my favorite topics - preparing and solving networking challenges is always fun. Configuring routing is a typical sysadmin task. Solve this simple problem to check your skills labs.iximiuz.com/challenges/net…

The "Hard" part in the famous "Kubernetes The Hard Way" tutorial shouldn't be figuring out where to run it. Thanks to Kelsey reworking it into a cloud-agnostic edition, you can now run it on 4 vanilla Linux VMs. A brilliant example 👇 labs.iximiuz.com/playgrounds/ku…
Docker 101: Send Data to Containerized Tools via Stdin 🧙♂️ Popular CLI tools are often distributed, in particular, as container images: curl, httpie, kubectl, etc. Often, these tools accept data on STDIN. But 'docker run' closes it by default. Learn more labs.iximiuz.com/challenges/doc…

It took me two years, but I finally added a chart that shows the distribution of playground runs by content type. Contrary to my own (initial) belief, "standalone" (i.e., not attached to any content) playgrounds remain the most frequently started kind. The second largest group…

🐳 Docker 101: Running Tools in Containers Most container images include more than one executable file, and you may want to run something other than the container's default command. Practice running arbitrary commands in containers in this challenge labs.iximiuz.com/challenges/doc…

Ever wondered what happens behind the scenes when you run a kubectl command? Explore this playground to experiment with the kube-apiserver in isolation, without any of the controllers: labs.iximiuz.com/playgrounds/ku… #kubernetes #iximiuz
Docker 101: Background Containers, Logs, and STDIO Streams 🛠️ Continuing the Getting Started with Docker series. In production, you will most often deal with _background_ containers. Practice accessing their logs and reattaching to the STDIO streams 👇 labs.iximiuz.com/challenges/doc…
Docker 101: Run Your First Containers 🛠️ Get started with Docker by solving these practical problems: - Run a hello-world container - Run a web-server container - Run an interactive shell container Automated checks and hints included! labs.iximiuz.com/challenges/doc…

🧠 #Containers ≠ OS-in-a-box. You don’t need an image to run one, images are built inside containers & they aren’t just #Linux processes—they’re more nuanced! Dive into @iximiuz “Debunking Container Myths” series to rethink what containers really are. iximiuz.com/en/series/debu…
Periodic reminder: when you "docker run nginx", the actual image that gets pulled is "docker[.]io/library/nginx:latest" 🧐 This happens because "nginx" is just a shortcut for a Docker Hub-hosted image, and it's coming from the historical naming convention 👇
![iximiuz's tweet image. Periodic reminder: when you "docker run nginx", the actual image that gets pulled is "docker[.]io/library/nginx:latest" 🧐
This happens because "nginx" is just a shortcut for a Docker Hub-hosted image, and it's coming from the historical naming convention 👇](https://pbs.twimg.com/media/GwXr-9sWAAAINeE.jpg)
How Container Networking Works 🧐 Most Docker installations and Kubernetes clusters have the same bridge container network setup. The best way to understand how it works? Try reproducing one from scratch using nothing but the standard Linux commands: labs.iximiuz.com/tutorials/cont…

Over the past couple of weeks, I shipped a bunch of features to make iximiuz Labs' playgrounds even more powerful: - Split terminal view - HTTP(S) port tabs - Quick playground constructor - Coding agents playground 🚀 Collected all of them in this post newsletter.iximiuz.com/posts/split-vi…
~5 years of using Kubernetes, I did not know that there was a bloody simple `kubectl debug` command. Better: you can target a container and it will share the same pid, net and mnt namespaces allowing you to effectively debug a running container without a shell into it !