Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
YouTube Security VideosGoogle Chrome: Unfinished Projects: Solange’s Public Sculpture(21.09.2026 um 17:02 Uhr)
Windows Tipps & SecurityBlurry or pixelated video in Microsoft Teams(21.09.2026 um 14:34 Uhr)
Sicherheitslücken (CVE)USN-8791-1: Ghostscript vulnerability(21.09.2026 um 14:51 Uhr)
Sicherheitslücken (CVE)USN-8792-1: Memcached vulnerability(21.09.2026 um 15:02 Uhr)
Sichere ProgrammierungI stopped rewriting the same Electron boilerplate — so I packaged it(21.09.2026 um 17:28 Uhr)
YouTube Security VideosGoogle Chrome: Unfinished Projects: Solange’s Public Sculpture(21.09.2026 um 17:02 Uhr)
Windows Tipps & SecurityBlurry or pixelated video in Microsoft Teams(21.09.2026 um 14:34 Uhr)
Sicherheitslücken (CVE)USN-8791-1: Ghostscript vulnerability(21.09.2026 um 14:51 Uhr)
Sicherheitslücken (CVE)USN-8792-1: Memcached vulnerability(21.09.2026 um 15:02 Uhr)
Sichere ProgrammierungI stopped rewriting the same Electron boilerplate — so I packaged it(21.09.2026 um 17:28 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

I Built My Own Container Runtime from Scratch Using Only Linux (No Docker, No containerd, No LXC)

I’ve been using Docker for a while, but at some point I realized I didn’t actually understand what it was doing under the hood. How does a process suddenly get its own filesystem, its own network, its own environment? So instead of rea…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

I’ve been using Docker for a while, but at some point I realized I didn’t actually understand what it was doing under the hood.

How does a process suddenly get its own filesystem, its own network, its own environment?



So instead of reading more blogs, I decided to build it myself.

No Docker. No containerd. No LXC.

Just namespaces, cgroups, networking, and filesystem isolation.



That’s how I ended up building LXR (Linux Container Runtime) written in Go, using only Linux primitives.



The idea



Build containers from scratch and make them usable for real development.



LXR not only creates containers, but also lets you work inside them directly from the browser or terminal, while the runtime handles everything underneath.



So LXR can:




  1. pull images from Docker Hub

  2. extract rootfs

  3. create isolated containers

  4. configure networking (veth + bridge + IP allocation)

  5. provide shell access via lxr exec

  6. run code-server inside containers for browser access





Using it



From the outside, it looks simple:




lxr create --name goCon golang






But internally, this triggers a full setup.







What actually happens:




  1. image layers are pulled

  2. dependencies are installed into the image rootfs

  3. root filesystem is prepared

  4. overlay filesystem is created

  5. networking is configured

  6. IP is allocated

  7. container process is started

  8. code-server is launched



All of this... just to start one container.



Result



Once containers are running:




lxr ps








Each container has:




  1. its own PID

  2. its own IP

  3. its own network namespace

  4. its own filesystem (OverlayFS)



At this point, LXR behaves as an real container runtime.



The first problem



The first issue wasn’t networking or filesystem.

It was just starting a process.



I tried running containers as a non-root user, but it didn’t work the way I expected.Processes failed to start or behaved inconsistently due to restrictions.



This turned out to be related to how Linux handles namespaces and permissions.



I’ll cover that part in the upcoming post.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten I Built My Own Container Runtime from Scratch Using Only Linux (No Docker, No containerd, No LXC)

Thematisch verwandte Begriffe: Built, Container, Runtime, from · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-94393 | When a user creates or edits a report inside an event, MISP can identify…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick