docker-compose Bild mit dem Namen: "prefix_% s_1" anstelle von "% s"

8

Wenn ich einige Docker-Container in docker-compose.yaml file mit Links einrichte, lautet der Name der Container im Format prefix_%s_1 anstelle von %s und der Alias ​​in /etc/hosts auf der Verknüpfung Container ist der gleiche.

Warum ist der Alias ​​von redis container test_redis_1 anstelle von redis ?

Hier sind die relevanten Dateien und die Ausgabe:

%Vor%

Nach dem Ausführen von docker-compose build && docker-compose up :

%Vor%

Ausgabe vom test_monkey_1 -Container:

%Vor%     
Neil 09.10.2015, 18:58
quelle

3 Antworten

4

Nach docker schreiben Sie das Problem # 745 :

  

Standardmäßig basiert Compose den Projektnamen auf dem Basisnamen des   Befehle zum Erstellen von Verzeichnissen werden ausgeführt. Der Projektname kann sein   überschreiben, indem Sie die Option -p / --project-name für jede übergeben   befehle oder setze die Umgebungsvariable COMPOSE_PROJECT_NAME.

Sie können das Präfix Ihrer Wahl zu Ihren Containernamen setzen, indem Sie etwas wie folgt schreiben:

%Vor%     
Arnaud Leymet 19.12.2016 12:46
quelle
3

Docker compose verwendet den Namen des Verzeichnisses mit Ihrer Compose-Datei als Name des Projekts, es sei denn, Sie stellen dies über -p Option

%Vor%

Compose unterstützt Standardumgebungsvariablen in einer Umgebungsdatei mit dem Namen .env , die sich in dem Ordner befindet, in dem sich das Andockfenster befindet -compose-Befehl wird ausgeführt (aktuelles Arbeitsverzeichnis).

Hier sollten Sie COMPOSE_PROJECT_NAME

festlegen     
denov 10.06.2017 18:17
quelle
1

Das ist, wie docker-compose Namen Container, so dass sie sie verwalten können.

Der Basisname ist der Name des Verzeichnisses, das die docker-compose.yaml -Datei enthält. Danach folgt der Name des Containers, wie in Ihrer docker-compose.yaml -Datei angegeben, und schließlich folgt eine Instanznummer, die sich erhöht, wenn Sie mehrere Instanzen eines Containers aufrufen, der etwas wie docker-compose scale verwendet.

Mit diesem Benennungsschema kann docker-compose Ihre Container identifizieren, wenn Sie versuchen, sie mit etwas wie docker-compose stop zu bearbeiten.

Ich glaube nicht, dass dies in irgendeiner Weise mit der Dokumentation kollidiert. Das heißt, wenn ich zum Beispiel mit docker-compose.yaml in einem Verzeichnis namens sotest :

beginne %Vor%

Und dann bring das Compose:

%Vor%

Ich bekomme zwei Container:

%Vor%

Wenn ich mir die Datei /etc/hosts innerhalb von sotest_irc_1 anschaue, sehe ich:

%Vor%

Zusätzlich zu einer Reihe anderer Namen. Also der verlinkte Host ist verfügbar über den Namen, wie in den Dokumenten beschrieben.

    
larsks 09.10.2015 19:12
quelle

Tags und Links