Abo
  • Services:
Anzeige
Oracle baut sich eigene Container-Werkzeuge.
Oracle baut sich eigene Container-Werkzeuge. (Bild: Roy Luck, flickr.com/CC-BY 2.0)

Railcar: Oracle veröffentlicht Container-Runtime und Debugger in Rust

Oracle baut sich eigene Container-Werkzeuge.
Oracle baut sich eigene Container-Werkzeuge. (Bild: Roy Luck, flickr.com/CC-BY 2.0)

Mit Railcar veröffentlicht Oracle auf Github eine Rust-Implementierung des OCI-Runtime-Spec. Crashcart ist ein Microcontainer Debugging Tool. Orcale bietet damit Alternativen zu den Diensten von Docker oder CoreOS.

Das neue Open-Source-Projekt Railcar von Oracle ähnelt der Referenzimplementierung der Container-Runtime von Runc, ist aber komplett in Rust geschrieben. Das soll für Speichersicherheit sorgen und ermöglicht es den Programmierern, sich nicht erst mit Garbage Collection und Multithreading beschäftigen zu müssen.

Anzeige

Oracle hat sich für diese Software entschieden, weil Go Probleme im Umgang mit Linux Namespaces hat und C nicht sicher genug ist. Rust bewegt sich zwischen beiden, erlaubt eine weitgehende Kontrolle über das Threading und kommt so auch mit Namespaces zurecht.

Das ebenfalls von Oracle vorgestellte Crashcart ermöglicht es hingegen, ein Image mit Linux-Binärdateien in einen Container zu laden. Ein Builder, der als privilegierter Container läuft, erzeugt aus einem Dockerfile ein crashcart_builder-Image. Den privilegierten Container braucht es, weil Crashcart das Image per Loopback-Mount auf Ext 3 erzeugt und dann Dateien hineinkopiert. Beim Erststart braucht das Image einige Zeit, weil im Hintergrund der Nix-Paketmanager die Binaries aus dem Quellcode erzeugt. Anschließend kann der User seine Binaries in einem Container seiner Wahl verwenden, zum Beispiel für Analysezwecke.

Oracle beschreibt auch die Herausforderungen beim Implementieren von Railcar. Probleme bereite es demnach unter anderem, ein Backend zur Zusammenarbeit mit Docker zu überreden, weil so viele verschiedene Prozesse involviert seien, was Debugging erschwere. Die Spezifikation sei zudem nicht vollständig, denn Containerd und Runc unterstützen bestimmte wichtige Aufrufe, die nicht in der Spezifikation stehen. Auch an anderen Stellen folgt das Duo nicht exakt der Spezifikation. So sollte ein zweifaches Löschen von Containern eine Fehlermeldung ausgeben, was nicht der Fall ist. Auch die Implementierung der Pre- und Poststart-Hooks sei nicht ganz einfach gewesen, wohl auch, weil die Spezifikation noch recht jung sei.

Nicht zuletzt gibt es Abweichungen von Runc: So erzeugt Railcar stets einen Initprozess, um Merkwürdigkeiten im Umgang mit Namespaces und PIDs zu umgehen. Mögliche ungewisse Auswirkungen könnte diese Entscheidung auf Stdout und Stderr haben, wenn man Railcar ohne Terminal betreibt, schreiben die Entwickler in einem begleitenden Blogpost. Dieses Problem wolle man als nächstes angehen, auch um Railcar kompatibler zu Runc zu machen. Ansonsten fehlt Railcar noch das stats-Kommando, automatische Tests gegen neuere Spec-Versionen stehen auch auf dem Fahrplan.

Insgesamt sei man aber sehr zufrieden mit der Wahl von Rust für das Projekt. Anders als Go habe man für die Rust-Implementierung keine C-Code-Injektion benötigt und man sei sehr zuversichtlich, was die Speichersicherheit von Railcar angehe. Die Startzeit für Container sei gut, hier bremse aber tatsächlich der Kernel: Das Anlegen von Cgroups und Network Namespaces sei das größte Hinderniss in dem Konstrukt. Sowohl Railcar als auch Crashcart stehen jeweils unter zwei Lizenzen, der Universal Permissive License (UPL) 1.0 und der Apache-Lizenz 2.0 und lassen sich auf Github herunterladen.


eye home zur Startseite
Biterolf 06. Jul 2017

Und ich dachte, ich bin der einzige der so bekloppt denkt. Mehr Rust ist dann aber doch...



Anzeige

Stellenmarkt
  1. headwaypersonal gmbh, Regensburg
  2. Robert Bosch GmbH, Bühl
  3. PHOENIX CONTACT GmbH & Co. KG, Blomberg
  4. FactSet Digital Solutions GmbH, Frankfurt


Anzeige
Hardware-Angebote
  1. 129,99€ (219,98€ für zwei)
  2. ASUS-Gaming-Produkt kaufen und bis zu 150€ Cashback erhalten

Folgen Sie uns
       


  1. Apple

    Homepod soll ab Frühjahr 2018 in Deutschland erhältlich sein

  2. 860 Evo und 860 Pro

    Samsungs SSDs sind flotter und sparsamer

  3. Mozilla

    Firefox Quantum wird mit Version 58 noch schneller

  4. TV-Kabelnetz

    Vodafone Kabelnetztrasse in Rheinland-Pfalz zerstört

  5. Hetzner Cloud

    Cloud-Ressourcen für wenig Geld aber mit Zusatzkosten mieten

  6. Fake News

    Murdoch fordert von Facebook Sendegebühr für Medien

  7. Diewithme

    Zusammen im Chat den Akkutod sterben

  8. Soziales Netzwerk

    Facebook sorgt sich um seine Auswirkungen auf die Demokratie

  9. Telefónica

    5G-Test für TV-Übertragung im Bayerischen Oberland

  10. Omega Timing

    Kamera mit 2.000 x 1 Pixeln sucht Sieger



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Star Citizen Alpha 3.0 angespielt: Es wird immer schwieriger, sich auszuloggen
Star Citizen Alpha 3.0 angespielt
Es wird immer schwieriger, sich auszuloggen
  1. Cloud Imperium Games Star Citizen bekommt erst Polituren und dann Reparaturen
  2. Star Citizen Reaktionen auf Gameplay und Bildraten von Alpha 3.0
  3. Squadron 42 Mark Hamill fliegt mit 16 GByte RAM und SSD

Vorschau Kinofilme 2018: Lara, Han und Player One
Vorschau Kinofilme 2018
Lara, Han und Player One
  1. Kinofilme 2017 Rückkehr der Replikanten und Triumph der Nasa-Frauen
  2. Star Wars - Die letzten Jedi Viel Luke und zu viel Unfug

Preiswertes Grafik-Dock ausprobiert: Ein eGPU-Biest für unter 50 Euro
Preiswertes Grafik-Dock ausprobiert
Ein eGPU-Biest für unter 50 Euro
  1. XG Station Pro Asus' zweite eGPU-Box ist schlicht
  2. Zotac Amp Box (Mini) TB3-Gehäuse eignen sich für eGPUs oder SSDs
  3. Snpr External Graphics Enclosure KFA2s Grafikbox samt Geforce GTX 1060 kostet 500 Euro

  1. Re: Projekt U10 Prozent ist im vollen Gange

    teenriot* | 16:25

  2. 8=====D

    ThiefMaster | 16:24

  3. nur für ältere Kisten und RAIDs ?

    tschick | 16:23

  4. Re: how about..

    Cystasy | 16:23

  5. Re: Der Basispreis war doch bloss PR

    Dwalinn | 16:22


  1. 16:14

  2. 16:00

  3. 15:58

  4. 15:35

  5. 15:26

  6. 14:55

  7. 14:13

  8. 13:27


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel