Regel in nginx komponiert ein drittes Teilmodul kompilieren Sie diesen Befehl verwenden sollen:Installieren nginx dynamische Modul mit Docker
./configure --add--module=path/to/your/new/module/directory
Dann mit:
make
Und schließlich:
make install
Aber mit docker kann ich nicht in Nginx Pfad gehen und diese Befehle ausführen. Wie kann ich den Befehl "configure" zu meiner Datei "docker-compose.yml" hinzufügen?
EDIT: Ich habe versucht, eine einfache Dockerfile wie diese zu erstellen:
FROM nginx
RUN ./configure --add-module=./module/
make && \
make install
Und es in meine Docker-compose.yml einschließlich.
Und es gab mir diesen Fehler:
/bin/sh: 1: ./configure: not found The command '/bin/sh -c ./configure --add-module=./module/' returned a non-zero code: 127
ich auch anstelle von „Configure“, aber dasselbe Ergebnis „konfiguriert“ hat versucht, zu verwenden. Ich weiß nicht, wie man den configure-Befehl setzt.
Ja, Sie haben meine Frage verstanden. Du hast recht, ich sollte eine Docker-Datei für meinen Zweck verwenden und dann docker-compose nur zum Kombinieren verschiedener Bilder verwenden. Ich habe meine Frage mit Ihrem Rat aktualisiert, aber ich habe mein Problem noch nicht gelöst. – MaP
'FROM nginx' wird beginnen, ein Basisbild zu erstellen, auf dem bereits' nginx' installiert ist. Es wird wahrscheinlich nicht den Nginx-Quellcode haben, der das Skript 'configure' und' Makefile' enthält. Der beste Weg wäre, von CentOS oder Ubuntu oder einem solchen Betriebssystemabbild zu starten, nginx-Quellcode darin zu kopieren/herunterzuladen und dann diese Befehle auszuführen. – Amit
Sie haben die richtige Methode geschrieben: Zuerst begann ich von einem offiziellen OS-Image: Von Ubuntu: neuesten. Dann habe ich die Binärdateien von nginx heruntergeladen und extrahiert. Dann, vor dem Kompilieren, fügte ich mein Modul in "./configure" -Befehl. Es hat funktioniert. Vielen Dank! – MaP