python FastAPI 中可以使用的 entrypoint.sh 示例,其他语言写的代码也可以参考,思路类似。
#!/bin/bash
set -e
if [ ! -v PORT ]; then
PORT="8000"
fi
if [ ! -v HOST ]; then
HOST='0.0.0.0'
fi
ARGS=()
function check_config() {
param="$1"
value="$2"
ARGS+=("--${param}")
ARGS+=("${value}")
}
check_config "host" "$HOST"
check_config "port" "$PORT"
case "$1" in
start)
exec uvicorn main:app "${ARGS[@]}" --reload
;;
-*)
exec uvicorn main:app "$@" "${ARGS[@]}" --reload
;;
*)
exec "$@"
;;
esac
exit 1