PID 1 gehört Ihnen
Der Agent ist ein Kindprozess im Hintergrund. Docker signalisiert direkt an Ihren Prozess, und dessen Exit-Code ist der des Containers.
FROM your-image # unchanged
COPY --from=markolofsen/cmdop:latest /cmdop /usr/local/bin/cmdop
ENTRYPOINT ["cmdop", "sidecar", "--"]
CMD ["your-app", "--your", "flags"] # unchangedIhr Base Image und Ihr Command bleiben unverändert.
Die Steuerungsebene reist mit dem Container, statt anderswo auf ihn zu warten.
Kopieren Sie eine Datei in Ihr Image. Dieselbe Binary ist Maschinenagent, relay für andere Maschinen, Browserkonsole, Terminal-Host und KI-Runtime — je nachdem, wie Sie sie aufrufen.
Ein Produktsystem
Beginne mit einer Maschine. Wachse zu einer Flotte.
Ein gemeinsamer Agent auf dem Host sammelt den Betriebszustand aller Container, braucht Zugriff auf jeden davon und wird selbst zur Infrastruktur. Ein Agent, der im Image mitreist, tut das nicht.
cmdop sidecar startet den Agenten im Hintergrund und führt dann Ihren Befehl per exec aus. Ihre Anwendung wird PID 1, also verhalten sich docker stop, Signale, Exit-Codes und Restart-Policies exakt wie zuvor.

Der Agent ist ein Kindprozess im Hintergrund. Docker signalisiert direkt an Ihren Prozess, und dessen Exit-Code ist der des Containers.
Wenn der Agent nicht startet oder den relay nicht erreicht, läuft Ihre Anwendung weiter. Ohne gesetzten join key ist sidecar ein schlichtes exec.
Der Container wählt sich zum relay. Kein eingehender Port wird geöffnet, keine Ingress-Regel wird gebraucht.
Die Binary linkt keine libc, also funktionieren Alpine, Debian, distroless und scratch gleichermaßen.
Öffnen Sie eine Shell im laufenden Container — aus dem Browser, der CLI oder vom Handy.
Lesen, vergleichen und bearbeiten Sie die Dateien im Container, begrenzt auf das Verzeichnis, auf das Sie den Agenten richten.
Lassen Sie einen Agenten prüfen, ändern, ausführen oder debuggen, was im Container liegt.
Führen Sie Befehle aus und geben Sie Arbeit zwischen Maschinen weiter — von jeder Cmdop-Oberfläche aus.
Dasselbe Image läuft auf Ihrem Laptop, in Compose und überall sonst, wo Sie schon Container betreiben. Starten Sie fünfhundert davon, haben Sie fünfhundert unabhängige Agenten, denn Steuerbarkeit ist eine Eigenschaft des Images und nichts, was Sie daneben deployen.
Bauen Sie das Image und übergeben Sie relay-Adresse und join key als Umgebungsvariablen. Die Maschine erscheint beim Start in Ihrer Flotte, und mehr ist nicht zu konfigurieren.
Das öffentliche Repository enthält ein fünfzehnzeiliges Dockerfile über einer gewöhnlichen Node-App — die Variablen, was jede davon verhindert, und einen Container, den Sie sofort starten können.

Die öffentliche Demo ist absichtlich größer aufgebaut: Sie hostet ihren eigenen relay, mountet ein schreibbares Projekt und startet einen Dev-Server — so sehen Sie zu, wie ein Agent eine echte Anwendung ändert und die Änderung in der Git-Historie landet.
Sie zeigt, was Cmdop von Anfang bis Ende kann. Den Agenten in einen Container zu bringen, den Sie schon besitzen, bleibt zwei Zeilen.
Fügen Sie die Binary einem Image hinzu, das Sie schon ausliefern, oder klonen Sie das Beispiel und sehen Sie einer Maschine beim Beitreten zu.