Alternative Docker-Umgebung auf Solaris-Basis
Mischwesen
Dockers ständig wachsendes Ökosystem übt eine starke Anziehungskraft auf Entwickler und Administratoren aus. Während sich der Einsatz von Docker in Entwicklungs- und Testumgebungen anbietet, liegen für einen Produktivbetrieb die Hürden schon deutlich höher. Hier setzt Joyents „Elastic Container Infrastructure“ Triton an.
Mit Triton hat Joyent – bisher allenfalls mit node.js assoziiert – eine Grundlage geschaffen, Container in Produktivumgebungen einzusetzen. Das Unternehmen nutzt etwa in seiner Public Cloud Triton als Infrastruktur für seine Kunden. Seit März 2015 laufen unter Triton Linux-Container, was das Einspielen von Docker-Images ermöglicht. Joyent liefert dazu die Schnittstelle. Weil Triton keinen Linux-Kernel nutzt, sondern auf OpenSolaris beruht, läuft unter der Haube einiges anders als gewohnt, wovon der produktive Einsatz aber profitiert.
Unter Linux haben Nutzer und Gruppen innerhalb eines Containers dieselbe ID wie im Hostsystem – im schlimmsten Fall sogar root. Deswegen muss man bei Docker zusätzlich Hand anlegen, um es für den Produktivbetrieb abzusichern (siehe [1] und „Alle Links“). Abhilfe schaffen User-Namespaces. Diese bilden den Benutzer root aller Container eines Docker-Daemons auf dieselbe frei wählbare uid:gid-Kombination ab. Docker implementiert dies seit der gerade veröffentlichten Version 1.9 teilweise. Andere Containersysteme, wie Virtuozzo und dessen Open-Source-Variante OpenVZ, verwenden User-Namespaces schon länger erfolgreich.