Ich habe eine docker-compose.yml
Datei, die meinen Anwendungsserver startet. Ich verwende dann ein paar verschiedene Tools, um Integrations-/Stresstests durchzuführen.Konsistenter Hostname für Docker-Container/VM plattformübergreifend?
Auf meinem Mac startet der Anwendungsserver jedoch unter localhost
und unter Windows startet er auf der VirtualBox VM unter 192.168.99.100
.
Ich habe gehört, dass docker-machine ip
ist eine plattformübergreifende Art und Weise zu Ihrem Docker-Container "zu finden", und es funktioniert für Windows:
[email protected] MINGW64 ~
$ docker-machine ip
192.168.99.100
Aber auf meinem Mac:
craig$ docker-machine ip
Error: No machine name(s) specified and no "default" machine exists
Ist gibt es eine Möglichkeit, docker-machine
oder eine andere bereits etablierte Methode zum Finden der Container-Hostname auf eine plattformübergreifende Weise zu verwenden?
Mein Ziel wäre es, dass dies out-of-the-Box ohne jede Konfiguration auf einem neuen Mac und neue Windows-Umgebung ausgeführt werden. Ich kann alle meine Skripte aktualisieren, um nach Windows vs Mac (vs Unix) zu suchen, aber dann muss ich die Logik an einer Reihe von verschiedenen Orten duplizieren.
Vielleicht so etwas? "docker inspect -f '{{Bereich .NetworkSettings.Networks}} {{. IPAddress}} {{end}}' containername" oder dies kann nützlich sein "docker Netzwerk inspect bridge" – barat