常用的entrypoint.sh使用示例

发布时间 2023-03-28 15:22:43作者: 小维江湖

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