GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich Nginx in einem Docker-Container ausführen, ohne anzuhalten?

nginx , wie alle wohlerzogenen Programme, kann so konfiguriert werden, dass es sich nicht selbst dämonisiert.

Verwenden Sie die daemon off Konfigurationsdirektive beschrieben in http://wiki.nginx.org/CoreModule.


Um die Antwort von Charles Duffy zu erweitern, verwendet Nginx den daemon off Direktive, die im Vordergrund ausgeführt werden soll. Wenn es unpraktisch ist, dies in die Konfigurationsdatei aufzunehmen, können wir es direkt in der Befehlszeile angeben. Dies macht es einfach, im Debug-Modus (Vordergrund) auszuführen und direkt in den Produktionsmodus (Hintergrund) zu wechseln, indem Sie die Befehlszeilenargumente ändern.

Im Vordergrund ausführen:

nginx -g 'daemon off;'

Zur Ausführung im Hintergrund:

nginx

Um Johns Antwort zu erweitern, können Sie auch den Dockerfile verwenden CMD Befehl wie folgt (falls Sie möchten, dass es ohne zusätzliche Argumente automatisch startet)

CMD ["nginx", "-g", "daemon off;"]

Nur zu Ihrer Information, ab heute (22. Oktober 2019) haben alle offiziellen Nginx-Docker-Images die Zeile:

CMD ["nginx", "-g", "daemon off;"]

z.B. https://github.com/nginxinc/docker-nginx/blob/23a990403d6dbe102bf2c72ab2f6a239e940e3c3/mainline/alpine/Dockerfile#L117


Linux
  1. Wie führe ich ein Programm in einem Docker-Container aus?

  2. So führen Sie einen Befehl in einem laufenden Docker-Container aus

  3. So trennen Sie sich von einem Docker-Container, ohne ihn zu stoppen

  4. Wie sende ich ein Signal an das Programm, das in einem Docker-Container ausgeführt wird?

  5. Wie füge ich Benutzer zum Docker-Container hinzu?

So stellen Sie eine Verbindung zu Localhost in einem Docker-Container her

So führen Sie PHPMyAdmin in einem Docker-Container aus

So führen Sie Grafana in einem Docker-Container aus

So führen Sie Docker-Container aus

So führen Sie SSH in einen Docker-Container ein

So verwalten Sie Docker-Container