docker run - & gt; Der Name wird bereits vom Container verwendet
Läuft die docker-Registrierung mit den nachstehenden Befehl wirft immer eine Fehlermeldung:
dev:tmp me$ docker run \
-d --name registry-v1 \
-e SETTINGS_FLAVOR=local \
-e STORAGE_PATH=/registry \
-e SEARCH_BACKEND=sqlalchemy \
-e LOGLEVEL=DEBUG \
-p 5000:5000 \
registry:0.9.1
Error response from daemon: Conflict. The name "registry-v1" is already in use by container f9e5798a82e0. You have to delete (or rename) that container to be able to reuse that name.
Wie um diesen Fehler zu vermeiden ?
InformationsquelleAutor der Frage Rubytastic | 2015-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich war verwirrt von diesem auch. Es gibt zwei Befehle, die hier relevant:
docker run einen Befehl Ausführen, der in einem neue container
docker start Starten Sie einen oder mehrere Container gestoppt
InformationsquelleAutor der Antwort Walt Howard
Das bedeutet, dass Sie bereits begonnen haben, einen container in der Vergangenheit mit dem parameter
docker run --name registry-v1 ...
.Müssen Sie löschen, bevor Sie neu-erstellen Sie einen container mit dem gleichen Namen mit
docker rm registry-v1
. Wenn das container-Fensterbank läuft, die Sie brauchen, um es zu stoppen, bevor Sie ihn löschen können mitdocker stop registry-v1
. Oder wählen Sie einfach einen anderen Namen für den neuen container.Erhalten Sie eine Liste der vorhandenen Container und deren Namen einfach aufrufen
docker ps -a
.InformationsquelleAutor der Antwort h3nrik
Haben Sie 2 Möglichkeiten dieses Problem zu beheben...
Entfernen der vorherigen container, die diesen Namen verwenden, mit dem Befehl
docker rm $(docker ps -aq --filter name=myContainerName)
ODER
--name registry-v1
etwas wie--name myAnotherContainerName
Sie diese Fehlermeldung bekommen, weil das container-Namen ( ich.e
registry-v1
) wurde von einem anderen container in der Vergangenheit...obwohl, die container haben können, verlassen ich.e (derzeit nicht in Verwendung).InformationsquelleAutor der Antwort Edwin Ikechukwu
Können Sie ihn entfernen mit dem Befehl
sudo docker rm YOUR_CONTAINER_ID
wird, dann führen Sie einen neuen container mitsudo docker run ...
;oder starten eines vorhandenen Containers mit
sudo docker start YOUR_CONTAINER_ID
InformationsquelleAutor der Antwort donglei
Hier, was ich getan habe, es funktioniert einwandfrei.
Schritt 1:(es Listen docker-container mit seinem Namen)
Schritt 2:
InformationsquelleAutor der Antwort thavaamm
Ich bin nur zu lernen, Andockfenster und diese bekam ich auch. Ich hielt den Behälter mit, der name schon und daher dachte ich, ich könnte führen Sie einen neuen container mit diesem Namen.
Nicht der Fall. Nur weil der container gestoppt wird, bedeutet nicht, es kann nicht wieder gestartet werden, und es hält alle die gleichen Parameter, die es erstellt wurde, (einschließlich des namens).
wenn ich ran
docker ps -a
das ist, wenn ich sah, dass alle dummy-Container habe ich erstellt, während ich spielte herum.Kein problem, da ich nicht wollen, dass diese mehr ich habe gerade
docker rm containername
an welcher Stelle meine neue container durfte, um mit dem alten Namen.Ah, und jetzt, dass ich fertig schreiben dieser Antwort, ich sehe Slawosz ' s Kommentar zu Walt Howard die Antwort von oben was auf die Verwendung von
docker ps -a
InformationsquelleAutor der Antwort matrixugly
Ursache
Einen container mit dem gleichen Namen gibt es heute noch.
Lösung
Wiederverwendung der gleichen container-Namen, löschen Sie die vorhandenen container durch:
Erklärung
Behälter vorhanden sein können, in folgenden Staaten, bei denen der name des Containers kann nicht verwendet werden, die für anderen Behälter:
created
restarting
running
paused
exited
dead
Sehen Sie Container in
running
Zustand :Zeigen Container in allen Mitgliedstaaten und finden Sie heraus, ob ein container-name, Nutzung:
InformationsquelleAutor der Antwort Roderick Jonsson