Ich verwende Docker für Windows (mit Hyper-V, nicht mit Docker Toolkit für Windows). Was ich erreichen möchte, ist es, 3+ Docker-Container mit den gleichen verfügbaren Ports zu drehen.Docker für Windows: Mehrere Docker-Container lokal mit denselben Port-Nummern drehen
Nachdem ich den ersten Docker Container erstellt habe, habe ich http://docker:8091 (oder http://10.0.75.2:8091) zur Verfügung, und das ist in Ordnung. Nun möchte ich einen anderen Container mit der gleichen verfügbaren Portnummer hochfahren. So etwas wie http://docker2:8091 oder http://10.0.75.3:8091). Und dann noch eins bei docker3 oder * .4: 8091.
(Beachten Sie, dass es ein Kinderspiel ist, drei Container mit exponierten Ports hochzufahren, die einem anderen zufälligen Port zugewiesen wurden, aber ich möchte die Portnummern beibehalten).
Ich habe versucht, einen Netzwerkadapter zu MobyLinuxVM über Hyper-V-Manager hinzuzufügen, aber das scheint Docker zu brechen, und ich muss neu installieren, um es wieder zu arbeiten.
Ich habe versucht, eine andere Hyper-V-Instanz mit docker-machine (docker-machine create -d hyperv --hyperv-virtual-switdch DockerNAT AnotherBox
) zu drehen, aber das stört nur etwa die Hälfte und funktioniert nicht. (Basierend auf dem, was ich in den Foren lese, ist die Absicht mit Docker-Maschine auf Docker für Windows nicht für mich in der Lage, dies trotzdem zu tun, es ist nur für die Verwaltung von VMs in der Cloud).
Also ... gibt es eine Möglichkeit zu erreichen, was ich versuche zu tun?
Sie versuchen, mehrere Container auf demselben Host-System Anschluss zuzuordnen? Für tcp ist das nicht möglich, http://stackoverflow.com/a/1694148/740175 –
Was versuchst du damit zu tun? Wenn Sie einen Cluster für die Service-Replikation zusammenstellen möchten, sollten Sie nach Docker Swarm suchen. –
Das ist so, als wollten Sie 3 Webserver auf Port 8091 betreiben. Docker macht Container-Ports für den Host-Computer verfügbar. Sie können die gleichen Ports innerhalb von Containern haben, aber wenn Sie sie offen legen, müssen sie unterschiedlich sein, um Konflikte zu vermeiden. – stacksonstacks