2016-05-25 7 views
5

Gibt es eine Möglichkeit, dass ich festlegen kann, was der Name des Containers aus der Dockerfile sein wird? Grundsätzlich möchte ich immer den gleichen Namen haben, also muss ich "$ docker ps" nicht ausführen, nachdem ich ein Bild erstellt und ausgeführt habe, um seinen Namen zu erhalten.Docker: Container-Namen in Dockerfile setzen

Antwort

12

Die Dockerfile ist für die Erstellung von Bildern nicht Container.

Sie können Ihren Containern jetzt Namen geben, indem Sie das neue -name Flag für docker run verwenden.

Wenn kein Name angegeben wird Docker automatisch einen Namen erzeugen

+1

Meine upvote zu dieser Antwort geht, da sie eindeutig die tatsächliche Verwirrung hinweisen zwischen Container und Bild der Frage. Das heißt, wenn Sie diesen ** Container ** Namen dann automatisieren möchten, ist dies immer noch möglich in einem ['docker-compose'' (https://docs.docker.com/compose/compose-file/#container -name) Weg –

+0

alles sehr wahr, obwohl es auch möglich ist, das Bild in der Build-Phase zu markieren: 'Docker build -t Tagname 'im' Name: Tag 'Format, das wiederum verwendet werden kann, um' docker run Tagname' – eddyce

3

Gibt es einen Grund, warum Sie es in der dockerfile definieren müssen und nicht nur Ihre Container nennen, wenn Sie sie laufen?

Wenn Sie Docker Lauf verwenden, um Ihre Bilder zu laufen, geben Sie dann den Namen in der Befehlszeile:

--name=""      Assign a name to the container 

Docker Run reference