nginx をフォアグラウンドで動かす (Dockerfile用)
2387 ワード
スマートな方法
「シンプルですが、なかなかよい方法では。(自賛)」、と書いた方法が、かなりダサいことが判明したので修正します…
起動用のシェルスクリプトを書いて、-g
オプションで "daemon off"
ディレクティブを指定します。
$PREFIX/sbin/nginx-runner
#!/bin/sh
if [ -f $PREFIX/logs/nginx.pid ]; then
rm -f $PREFIX/logs/nginx.pid
fi
$PREFIX/sbin/nginx -g "daemon off;"
これだと別に設定ファイルを用意しなくていいのでスマートですね……
最後のセミコロンをお忘れ無く!
古くてダサい方法…
小さな設定ファイルを作ります。
$PREFIX/conf/nginx-foreground.conf
daemon off;
include nginx.conf;
起動用のシェルスクリプトを書きます。
$PREFIX/sbin/nginx-runner
#!/bin/sh
if [ -f $PREFIX/logs/nginx.pid ]; then
$PREFIX/sbin/nginx -s quit
rm -f $PREFIX/logs/nginx.pid
fi
$PREFIX/sbin/nginx -c $PREFIX/conf/nginx-foreground.conf
Dockerfile
の CMD
でこれを使うと nginx-foreground.conf
を読むので、フォアグラウンドで動きます。
一方、手動で動かすときには、何も指定しなければ nginx.conf
を読むので、バックグラウンドで動作します。
シンプルですが、なかなかよい方法では。(自賛)
Author And Source
この問題について(nginx をフォアグラウンドで動かす (Dockerfile用)), 我々は、より多くの情報をここで見つけました https://qiita.com/keys/items/b77a72c9a9cbd5e92f07著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .