Ich habe versucht, einen Container nginx-proxy einzurichten, um auf meine anderen Container über Subdomänen auf Port 80 statt auf spezielle Ports zuzugreifen . Wie Sie sich denken können, konnte ich es nicht zum Laufen bringen.
Ich bin etwas neu, um docker zu machen und habe festgestellt, dass es für mich komfortabler ist, docker-compose.yml
-Dateien zu schreiben, so dass ich nicht ständig lange docker run ...
-Befehle schreiben muss. Ich dachte, dass es keinen Unterschied gibt, wie Sie die Container starten, entweder mit docker
oder docker-compose
. Ein Unterschied, den ich bemerkt habe, ist, dass das Starten des Containers mit docker
keine neuen Netzwerke erzeugt, aber mit docker-compose
wird es später ein xxx_default
Netzwerk geben.
Ich habe gelesen, dass Container in verschiedenen Netzwerken nicht aufeinander zugreifen können. Vielleicht ist dies der Grund, warum der Nginx-Proxy die Anfragen nicht an die anderen Container weiterleitet. Ich konnte jedoch keine Möglichkeit finden, meine docker-compose.yml
-Datei so zu konfigurieren, dass keine neuen Netzwerke erstellt werden, sondern stattdessen dem Standard-Brückennetzwerk wie docker run
hinzugefügt wird.
Ich habe Folgendes versucht, aber es ergab sich ein Fehler, der besagt, dass ich nicht wie folgt in Systemnetzwerke einsteigen kann:
%Vor% Ich habe auch versucht, network_mode: bridge
, aber das schien keinen Unterschied zu machen.
Wie muss ich die Datei docker-compose.yml
schreiben, um kein neues Netzwerk zu erstellen, oder ist das überhaupt nicht möglich?
Bonusfrage: Gibt es weitere Unterschiede zwischen docker
und docker-compose
, die ich kennen sollte?
Tags und Links docker docker-compose jwilder-nginx-proxy