zurück zum Artikel

DockerCon: Docker stellt universelle Laufzeitumgebung fĂŒr Container vor

Julia Schmidt
Docker Container

runC enthĂ€lt all den Code, den Docker dazu benutzt, um fĂŒr die Container nötige System-Features anzusprechen. Der Quelltext des Projekts ist nun als Teil des neuen Open Container Project verfĂŒgbar.

Laut der im Rahmen der DockerCon veröffentlichten Vorstellung des runC-Projekts [1], bestehen gut fĂŒnfzig Prozent der Docker-Infrastruktur aus kleinen Tools, die eine Reihe der fĂŒr das Funktionieren der Container-Technik essenziellen Aufgaben auf die nach Empfinden der Entwickler einfachste und verlĂ€sslichste mögliche Weise erledigen. Ohne sie wĂ€re die Kommunikation mit Betriebssystemfeatures wie systemd oder iptables nicht möglich. Dieser Teil der Infrastruktur steht nun als runC als Element des im Juni 2015 vorgestellten Open Container Project [2](OCP) auf GitHub [3] bereit.

Ziel von runC sei es, standardisierte Container ĂŒberall lauffĂ€hig zu machen. Die portable Laufzeitumgebung sei unter anderem so entworfen, dass sie ein möglichst hohes Maß an Sicherheit gewĂ€hrleiste und es keinerlei AbhĂ€ngigkeiten zur Docker-Plattform mehr gebe. runC kann mit Funktionen wie vollstĂ€ndigem Support fĂŒr Linux-NamensrĂ€ume und Windows-10-Container, Möglichkeiten zur live Migration und einem formal festgeschriebenen Konfigurationsformat (vom OCP angetrieben) aufwarten. Letztlich seien Container nichts anderes als eine Sammlung von System-Features, die in eine einheitliche Komponente integriert sind, die runC darstelle.

Der Schritt, die eingangs erwĂ€hnten Verbindungselemente und -Tools vom Rest der Plattform zu lösen, wird von den Betreibern als wichtigste architektonische VerĂ€nderung seit Beginn des Docker-Projekts bezeichnet. Gleichzeitig verspricht sich das Docker-Team viele Verbesserungen von der Separierung. Beispielsweise sei Docker so fĂŒr den Betrieb leichter zu handhaben und durch das höhere Maß an ModularitĂ€t einfacher zu skalieren, zu sichern, anzupassen und im Fehlerfall zu reparieren. Zudem wĂŒrden alle Verbindungselemente so einheitliche Schnittstellen freilegen, die jede Komponente in einen potenziellen Integrationspunkt verwandelten.

Da die Regeln, wie die nun extrahierte Infrastruktur geschaffen wurde, zu den Grundpfeilern des Projekts gehöre, werden sie von den Mitarbeitern als "Infrastructure Plumbing Manifesto" bezeichnet. Inhaltlich besagt das Manifest, dass, wann immer es möglich ist, auf bestehende Verbindungselemente zurĂŒckzugreifen ist und Verbesserungen an ihnen weiterzugeben sind. Sollte zusĂ€tzlicher Code nötig sein, sollte er so gestaltet sind, dass sich die ErgĂ€nzungen einfach an anderer Stelle weiterverwenden lassen. Zudem habe man sich am Unix-Prinzip, dass mehrere einfache Komponenten einer komplexen allumfassenden Lösung vorzuziehen sind, zu orientieren. Bei all dem sei es immer wichtig, auf standardisierte Schnittstellen zu achten, mit denen sich einfache Komponenten bei Bedarf in komplexeren Systemen vereinen lassen. (jul [4])


URL dieses Artikels:
https://www.heise.de/-2726047

Links in diesem Artikel:
[1] http://blog.docker.com/2015/06/runc/
[2] https://www.heise.de/news/Container-fuer-alle-Open-Container-Project-vorgestellt-2721352.html
[3] https://github.com/opencontainers/runc
[4] mailto:jul@heise.de