Wie können Benutzer Webanwendungen mit Docker verwalten?

Wie können Benutzer Webanwendungen mit Docker verwalten?

Für das Webhosting möchte mein Unternehmen Docker-Container für jede Webanwendung mit einem Reverse-Proxy als Front-End verwenden. Das funktioniert, aber wir suchen nach einer Möglichkeit, unseren Benutzern die Verwaltung ihrer eigenen Anwendungen zu ermöglichen. Administratoren steuern öffentliche und private Zugriffe über den Reverse-Proxy und das DNS.

Wir können dem Benutzer jedoch nicht die Berechtigung zum Starten/Stoppen von Docker-Instanzen erteilen, da ein Benutzer, der Befehle an einen Docker-Daemon senden kann, tun kann, was er will (wie beschriebenHierUndHier).

Wie können wir also dem Benutzer das Starten/Stoppen und die Konfiguration bestimmter Docker-Container ermöglichen?

Die einzige Lösung zum jetzigen Zeitpunkt (gefundenHier) ist es, Docker Änderungen in der Registrierung erkennen zu lassen, um Updates herunterzuladen und neu zu starten, zum Beispiel mitWachturm).

Eine weitere Alternative besteht darin,Warten Sie auf die Benutzer-Namespace-Unterstützungum zu verhindern, dass der Root-Containerbenutzer auf den Root-Hostbenutzer zugreifen kann. Aber wird das ausreichen?

bearbeiten: Docker bietet in Sachen Sicherheit nicht so viel, aber in unserem Fall:

  • Benutzer sind auf authentifizierte interne Mitarbeiter beschränkt
  • Benutzer können nicht direkt auf den Docker-Daemon zugreifen (das ist der Kern meiner Frage)
  • Es ist eine bessere Lösung als der Ein-Instanz-Apache mit hundert vhosts
  • Wir müssen uns mit Anforderungen an alternative Web-Frameworks/exotische Konfigurationen (Node.js, Meteor, Ruby) anstelle des klassischen LAMP auseinandersetzen, und Container eignen sich hervorragend für Entwickler, um ihre Anwendung auf die Hosting-Plattform zu übertragen.
  • Dies ist ein Experiment, das wir durchführen. Wir hoffen, dass in nicht allzu ferner Zukunft Lösungen wieprojekt atomund/oder die Unterstützung von Benutzernamensräumen bietet bessere Garantien.

Antwort1

Sie könnten möglicherweise Ihrer Kundenschnittstelle eine Option hinzufügen, die ihm den Container anzeigt, den er besitzt, und ihn seinen Container über neu starten lässtDocker Remote API

Dies sollte jedoch nur eine Option sein, wenn Sie über eine sichere Benutzeroberfläche und eine gute Benutzerrechteverwaltung verfügen.

Beachten Sie, dass sich die Docker-Remote-API in der nächsten Version 1.9 Ende Oktober ändern wird.Roadmap 1.9

verwandte Informationen