5

Ich habe ein Docker Bild mit erforderlichen Paketen erstellt.Docker-Compose Ausgabe mit Containernamen


sudo docker run -it --name CONTAINERNAME -v /host:/guest -p 
hostportno:guestportno 

Mein Behälter ist und läuft gut: Ich habe die Docker Bild Angabe des Host- und Gast-Port zusammen mit dem erforderlichen Volumen Montage Beispiel laufen.
Ich versuche, meine Container auf ein neues Docker Bild zu migrieren docker-compose verwenden.
Ich habe docker-compose.yml Datei erstellt und festgelegt die erforderlichen Parameter wie unten dargestellt:

image: test1 
ports 
    - "1234:123" 
    - "2000:223" 
volumes: 
    - /home:/test 
    -container_name: dockercomposetest 
working_dir: /test 
command: /bin/bash 

Ich bin nicht in der Lage, es zu migrieren Docker-compose verwenden.
I Problem bin immer wie unten angegeben:

Conflict. The name "test" is already in use by container eeedac72bb25. 
You have to delete (or rename) that container to be able to reuse that 
name. 

Umgehen zur Zeit ist, ich habe den Behälter zu stoppen und zu entfernen und docker-compose up auszuführen.
Kann ich nicht neu starten/migrieren einen Behälter mit demselben Namen Docker-komponieren mit, wie ich im normalen docker run Prozess begonnen habe.

Antwort

1

Nein, kann man nicht zwei Behälter mit dem gleichen Namen haben. Sie müssen einen anderen Namen für das Feld container_name auswählen. Der vorherige Container muss entfernt werden, bevor Sie den Namen erneut verwenden können.

Wenn Sie Compose wollte den Behälter behandeln, als ob es sie geschaffen hatte, haben Sie die Container-Etiketten gesetzt als Compose tut. Der einfachste Weg, diese zu finden wäre compose haben einen Container erstellen (wahrscheinlich durch die container_name Feld zu entfernen), dann docker inspect mit den Etiketten zu sehen.

0

können Sie überprüfen, ob --force-recreate helfen würde:

docker-compose up --force-recreate 

Vom docker-compose up man page:

Wenn Sie Compose erzwingen wollen alle Container zu stoppen und neu erstellen, die --force-recreate Flag verwenden.

--force-recreate 

Recreate Container selbst wenn deren Konfiguration und Bild nicht

ändern haben
+1

Noch gleiche Problem existiert. –