Starten Sie einen container mit Docker ohne Angabe Befehl
Ich bin vertraut mit LXC und wollte versuchen, Andockfenster. Das Problem, das ich bin vor ist, dass ich nicht finden können, ein Weg, um einfach nur sagen Andockfenster " start einen Behälter in den hintergrund, ohne das ausführen eines Befehls. Zum Beispiel mit LXC ich tun würde :
lxc create -t ubuntu -n my_container
lxc-start -n my_container -d
An dieser Stelle möchte ich einen Laufenden container, die ich verwenden kann als eine VM (ssh, Installation Zeug ...)
Es scheint, dass docker verhindern, dass diese Art der Nutzung. Bin ich etwas fehlt ?
InformationsquelleAutor rmonjo | 2013-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit docker, von der CLI Sie können nicht erstellen Sie einen container, ohne einen Befehl ausführen.
Wenn Sie möchten, verwenden Sie die REST-Api, können Sie rufen Sie die "create" - endpoint ohne 'start'.
Jedoch, es wäre nicht gut für Sie, denke ich.
In den meisten Fällen werden Sie wahrscheinlich wollen einfach nur zu laufen, ein container mit der bash
docker run -t -i ubuntu bash
und Dinge zu tun die es. Sobald Sie haben alles, was Sie benötigt, können Sie einfach Begehen, und führen Sie von dieser Stelle.In der Regel ist es jedoch besser, um zu tun einen Schritt zu einer Zeit, in Ordnung zu halten, eine klare Geschichte. Werfen Sie einen Blick auf das Andockfenster builder 🙂
ps -ef
Befehl in einem container, der nur die Ausgabe der Prozess, den ich gelaufen bin. Keine Ahnung, wie Sie dies erreicht ?Es ist der PID-namespace.
InformationsquelleAutor creack
Wenn ich prüfen müssen ein docker-container, die ich erstellt habe, die Probleme bei der Ausführung der normalen CMD in das Dockerfile, ich kommentiere diesen Befehl und ersetzen Sie mit "sleep" - Befehl, um die gerade pause den container, wenn es beginnt, so kann ich anmelden und kontrollieren Sie die installation.
Im Dockerfile
Anmelden in der Laufenden Docker-Instanz
InformationsquelleAutor GameSalutes
Können Sie bauen ein Docker-image enthält einen Befehl ausführen und andere Konfiguration, so dass eine
docker run <image>
starten der container. Der einfachste Weg dies zu tun ist mitCMD
von der Docker-Generator. Sie benötigen eine aktuelle version des Docker (> 0.4.6?).Außerhalb der Verwendung von Docker-generator, überprüfen Sie heraus die flags für
docker commit
unddocker run
(wo der Befehl, Argumente sind optional).docker run -d b750fe79269d
beschwert sich über "kein Befehl angegeben"Sie erhalten diesen Fehler, wenn es keine CMD angegeben im Dockerfile. Einfach fügen Sie am Ende der
docker run
was Sie ausführen möchten, im inneren des Behälters. z.B. bashInformationsquelleAutor gabrtv
Hinzufügen einiger Gedanken mehr hier als ich war Herumspielen mit dieser mich.
Let ' s sagen, ich will Arbeit mit 3 docker-Container :
Sehen, dass Sie laufen zu halten, obwohl ich mich gar nicht zu Fragen, zum ausführen von /bin/bash explizit
Kann ich shell in die Behälter
Ich Befehle ausführen können (z.B. die Installation von Paketen) in die container
Später kann ich beenden, und halten alles am laufen, durch drücken von STRG-p STRG-q
Siehe auch:
InformationsquelleAutor blong