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
:
Ausgabe vom test_monkey_1
-Container:
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%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
festlegenDas 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
:
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:
Zusätzlich zu einer Reihe anderer Namen. Also der verlinkte Host ist verfügbar über den Namen, wie in den Dokumenten beschrieben.
Tags und Links docker docker-compose