Docker Compose - Hinzufügen der Kennung zum Netzwerknamen

8

Ich versuche, ein Netzwerk in der Datei docker-compose.vs.debug.yml zu erstellen:

%Vor%

Aber Andockfenster, das einen Bezeichner hinzufügt:

docker Netzwerk ls - & gt;

%Vor%

Wenn es eine Option gibt, es so zu benennen:

%Vor%

Ich brauche es, um zwei Container in separaten Projekten automatisch zu verbinden.

    
Mark Sabakov 12.03.2017, 16:41
quelle

2 Antworten

7

Wenn Sie docker-compose erstellt haben, wird das Netzwerk selbst bestimmt. Normalerweise wird der Name des Verzeichnisses angezeigt, in dem sich docker-compose.yml befindet, und dieses wird als Präfix verwendet. Basierend auf dem Namen, den Sie angezeigt haben, scheint sich diese docker-compose.yml-Datei in einem Verzeichnis namens dockercompose1163770330 zu befinden. Er kombiniert dies mit dem von Ihnen angegebenen myNetwork -Namen und erstellt ein Netzwerk mit dem Namen dockercompose1163770330_myNetwork .

Wenn Sie den genauen Namen des Netzwerks steuern möchten, haben Sie zwei Möglichkeiten.

  1. Verwenden Sie ein Netzwerk, das außerhalb von docker-compose (einem "externen" Netzwerk) erstellt wurde.
%Vor%

Dies bedeutet, dass noch etwas anderes das Netzwerk erstellt hat. Wenn Sie ein solches Netzwerk noch nicht haben, ist es einfach, es zu erstellen.

%Vor%
  1. (Wenn möglich) Bestimmen Sie, wie Visual Studio die Pfade benennt und ändern Sie diesen Pfad in etwas Statisches. Ob das möglich ist oder wie, ich habe keine Ahnung. Aber wenn Sie dockercompose1163770330 kontrollieren und etwas anderes vorziehen, das Sie bevorzugen, können Sie den daraus erzeugten Netzwerknamen vorhersagen.
Dan Lowe 12.03.2017 17:25
quelle
2

Ich nehme an, Sie verwenden einen VS2017 dcproj. Ich habe das gelöst, indem ich das Netzwerk manuell im dcproj-Projekt als PreBuildEvent erstellt habe. Fügen Sie der .dcproj-Datei ein vordefiniertes Ziel hinzu:

%Vor%

Dann können Sie in Ihren docker-compose-Dateien ein externes Netzwerk angeben:

%Vor%

Erfordert, dass Sie dcproj vor anderen Projekten starten oder den gleichen Prebuild-Exec zu allen Projekten hinzufügen, die sich das Netzwerk teilen sollten.

    
doorstuck 31.10.2017 07:27
quelle