私はデーモンモードで動作しているときにのみ実行するdocker(squid)内で実行するプログラムを持っています。プログラムをデーモンとして実行しているDocker
私の質問は、sh
のエントリポイントが与えられているので、ドッカーが終了せずにプログラムをバックグラウンドで実行し続けるにはどうすればいいですか?ここで
だ私(簡体字)のエントリポイント:
#!/bin/bash
set -e
# default behaviour is to launch squid
if [[ -z ${1} ]]; then
if [[ ! -d ${SQUID_CACHE_DIR}/00 ]]; then
echo "Initializing cache..."
$(which squid) -N -f /etc/squid4/squid.conf -z
fi
echo "Starting squid..."
exec $(which squid) -f /etc/squid4/squid.conf -YCd 1
else
exec "[email protected]"
fi
最後に追加 '' 'ping localhost 2>&1/dev/null''' –
squidはコンテナ内の唯一の/プライマリプロセスであることを意図していますか?もしそうなら、前景モードでイカを実行してコンテナを取り外すだけではどうですか? – jwodder
squidがフォアグラウンドで実行された場合、機能が失われる:複数の作業者 –