GNU/Linux >> Linux の 問題 >  >> Linux

停止せずに Docker コンテナ内で Nginx を実行する方法は?

nginx は、行儀の良いすべてのプログラムと同様に、自己デーモン化しないように構成できます。

daemon off を使用 http://wiki.nginx.org/CoreModule で説明されている構成ディレクティブ。


Charles Duffy の回答を拡張するために、Nginx は daemon off を使用します フォアグラウンドで実行するディレクティブ。これを構成ファイルに入れるのが不便な場合は、コマンド ラインで直接指定できます。これにより、デバッグ モード (フォアグラウンド) での実行が簡単になり、コマンド ライン引数を変更することで、プロダクション モード (バックグラウンド) での実行に直接切り替えることができます。

フォアグラウンドで実行するには:

nginx -g 'daemon off;'

バックグラウンドで実行するには:

nginx

ジョンの答えを拡張するには、 Dockerfile も使用できます CMD コマンドを次のように入力します (追加の引数なしで自動起動する場合)

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

参考までに、今日 (2019 年 10 月 22 日) の時点で、公式の Nginx Docker イメージにはすべて行があります:

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

例えばhttps://github.com/nginxinc/docker-nginx/blob/23a990403d6dbe102bf2c72ab2f6a239e940e3c3/mainline/alpine/Dockerfile#L117


Linux
  1. Dockerコンテナ内でプログラムを実行する方法は?

  2. LinodeにDockerを使用してnginxコンテナをデプロイする方法

  3. DockerコンテナでMySQLを実行する方法

  1. DockerコンテナでNginxを実行する方法:ステップバイステップガイド

  2. 実行中のDockerコンテナでコマンドを実行する方法

  3. Dockerコンテナを停止せずに切り離す方法

  1. Dockerコンテナを終了する方法

  2. Dockerコンテナで実行されるプログラムにシグナルを送信するには?

  3. ユーザーを Docker コンテナに追加するにはどうすればよいですか?