2015-08-19 3 views
9

Es scheint, dass docker-compose den aktuellen Ordnernamen als Basenname für jeden erstellten Container hinzufügt. Also für folgende Verzeichnisstruktur:Wie behebt man den Basisnamen von Containern, wenn docker-compose verwendet wird?

/myproj/docker-compose.yml 

und Docker-compose.yml Inhalt:

web: ... 
worker: ... 

Docker-compose werden folgende Container erstellen:

myproj_web_1 
myproj_worker_1 

ich nichts dagegen haben, das Suffix (_X) aber ich möchte "myproj" auf eine Konstante wie "always_same" "fixieren", so dass ich docker-compose.yml-Datei verschieben und immer noch Container mit den gleichen Namen haben kann.

Wie kann ich es tun?

Antwort

9

Es gibt zwei Möglichkeiten, dies zu tun.

die Umgebungsvariablen mit

export COMPOSE_PROJECT_NAME=foo 

oder von Ihrem Stapel mit dem -p Startschalter

docker-compose -p foo build 
docker-compose -p foo up 
+4

Ich frage mich, warum es nicht möglich ist, Projektnamen in YML-Datei - ich denke, es wäre am meisten bequem ... – user606521

+1

Setzen Sie 'COMPOSE_PROJECT_NAME = foo' in' .env' Datei und Sie sind gut zu gehen. –

+0

Nicht, wenn Sie 2 Compose-Dateien im selben Verzeichnis verwenden (z. B. eines für den Entwickler, ein anderer für den Test). – hammady

3

Sie können dies auf der .yml Datei hinzufügen

container_name: my-web-container 

als die here

+0

Ja, aber das wird mir nicht erlauben, diesen Behälter zu skalieren. Ich möchte nur Basisname (Präfix) aller Container zu festen Namen anstelle von Verzeichnisnamen ändern ... – user606521

+0

@Chris defekten Link –

Verwandte Themen