2016-08-09 6 views
0

Ich lerne "Docker for Mac"Docker für Mac. docker run -d -p 80:80 --name webserver nginx zeigt einen anderen Container mit diesem Namen. aber Docker ps zeigt leere Liste

$ docker run -d -p 80:80 --name webserver nginx

Docker: Fehlerreaktion von Daemon: Konflikt. Der Name "/ webserver" wird bereits vom Container 728da4a0a2852869c2fbfec3e3df3e575e8b4cd06cc751498d751fbaa75e8f1b verwendet. Sie haben zu entfernen (oder umbenennen), dass Container diesen Namen wieder verwenden zu können ..

Aber wenn ich

$ docker ps

laufen zeigt es keine Container aufgeführt.

Aber aufgrund der vorherigen Fehlermeldung mir sagt, dass es diese Behälter 728da ist ....

I

$ dockder rm 728da4a0a2852869c2fbfec3e3df3e575e8b4cd06cc751498d751fbaa75e8f1b

Jetzt laufe ich diese Aussage wieder

diesen Container entfernt $ docker run -d -p 80:80 --name webserver nginx

Es funktioniert diesmal gut.

Und dann laufe ich $ docker ps, kann ich diese neuen Container sehen aufgeführt

$ docker ps 

CONTAINER ID IMAGE COMMAND Status Angelegt PORTS NAMES

3ecc0412fd31 nginx "nginx -g‚Daemon off" 19 Sekunden vor bis 17 Sekunden 0.0.0.0:80->80/tcp, 443/tcp Webserver

Hinweis:

ich bin mit „D ocker für Mac ".

Aber ich hatte "Docker Box" auf dem Mac zuvor installiert. Ich weiß nicht ob das der unsichtbare "Webserver" Container ist.

+1

Der andere Container muss gestoppt haben. Siehe 'docker ps -a' und Sie sollten Ihren Container namens' webserver' sehen – activatedgeek

Antwort

1

Wie activatedgeek in den Kommentaren sagt, muss der Container gestoppt worden sein. docker ps -a zeigt gestoppte Container. Gestoppte Container enthalten weiterhin den Namen zusammen mit dem Inhalt ihrer RW-Schicht, die Änderungen am verwendeten RO-Image anzeigt. Sie können Container nach Name oder Container-ID referenzieren, was das Schreiben und Schreiben erleichtern kann. docker start webserver hätte den alten Container neu gestartet. docker rm webserver würde einen gestoppten Container mit diesem Namen entfernen.

Sie können die Container-IDs auch auf den kürzesten eindeutigen Namen abkürzen, um Tipparbeit oder langes Kopieren/Einfügen zu sparen. In Ihrem Beispiel hätte docker rm 728d auch den Container entfernt.

0

Das Dokument Docker Getting Started fordert die Lernenden auf, zuerst zwei Anweisungen auszuprobieren.

docker run hello-world

und

docker run -d -p 80:80 --name webserver nginx

ich mich gefragt, warum ich

laufen

docker run hello-world

oft, aber wenn ich laufen

docker run -d -p 80:80 --name webserver nginx

das zweite Mal, ich habe den Namen Konflikte Fehler. Viele Anfänger würden sich auch fragen.

Mit Ihrer Hilfe und ich mehr Suche brachte, verstehe ich jetzt

docker run hello-world,

wir --name nicht genutzt, in diesem Fall wurde ein zufälliger Name gegeben, so wird es keine Namenskonflikte sein Error.

Danke!