diff --git a/Dockerfile b/Dockerfile index c3a6c8f..7244088 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,7 +69,7 @@ ARG local_url="" ENV APP_NAME=redis \ APP_USER=redis \ - APP_EXEC=redis-server \ + APP_EXEC=run.sh \ APP_VERSION=6.0.8 ENV APP_HOME_DIR=/usr/local/${APP_NAME} \ @@ -96,6 +96,7 @@ COPY --from=builder /usr/local/${APP_NAME}-${APP_VERSION}/*.conf /etc/${APP_NAME # 安装依赖的软件包及库(Optional) RUN install_pkg `cat /usr/local/${APP_NAME}/runDeps`; +RUN install_pkg netcat; # 执行预处理脚本,并验证安装的软件包 RUN set -eux; \ @@ -115,5 +116,5 @@ EXPOSE 6379 ENTRYPOINT ["entry.sh"] # 应用程序的服务命令,必须使用非守护进程方式运行。如果使用变量,则该变量必须在运行环境中存在(ENV可以获取) -CMD ["${APP_EXEC}", "${REDIS_CONF_FILE}"] +CMD ["${APP_EXEC}"] diff --git a/alpine/Dockerfile b/alpine/Dockerfile index cdf7f34..bc28829 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -68,7 +68,7 @@ ARG local_url="" ENV APP_NAME=redis \ APP_USER=redis \ - APP_EXEC=redis-server \ + APP_EXEC=run.sh \ APP_VERSION=6.0.8 ENV APP_HOME_DIR=/usr/local/${APP_NAME} \ @@ -95,6 +95,7 @@ COPY --from=builder /usr/local/${APP_NAME}-${APP_VERSION}/*.conf /etc/${APP_NAME # 安装依赖的软件包及库(Optional) RUN install_pkg `cat /usr/local/${APP_NAME}/runDeps`; +RUN install_pkg netcat-openbsd; # 执行预处理脚本,并验证安装的软件包 RUN set -eux; \ @@ -114,5 +115,5 @@ EXPOSE 6379 ENTRYPOINT ["entry.sh"] # 应用程序的服务命令,必须使用非守护进程方式运行。如果使用变量,则该变量必须在运行环境中存在(ENV可以获取) -CMD ["${APP_EXEC}", "${REDIS_CONF_FILE}"] +CMD ["${APP_EXEC}"] diff --git a/alpine/customer/usr/local/bin/comm-redis.sh b/alpine/customer/usr/local/bin/comm-redis.sh index 281b5fe..93e3ccc 100644 --- a/alpine/customer/usr/local/bin/comm-redis.sh +++ b/alpine/customer/usr/local/bin/comm-redis.sh @@ -285,7 +285,7 @@ redis_wait_service() { let i=1 if [[ -z "$(which nc)" ]]; then - LOG_E "Nedd nc installed before, command: \"apt-get install netcat\"." + LOG_E "Nedd nc installed before, command: \"apk add netcat-openbsd\"." exit 1 fi diff --git a/alpine/customer/usr/local/bin/run.sh b/alpine/customer/usr/local/bin/run.sh index 475b117..90e4b1c 100755 --- a/alpine/customer/usr/local/bin/run.sh +++ b/alpine/customer/usr/local/bin/run.sh @@ -14,14 +14,20 @@ set -o pipefail LOG_I "** Processing run.sh **" -flags=("${APP_CONF_FILE:-}") -[[ -z "${APP_EXTRA_FLAGS:-}" ]] || flags=("${flags[@]}" "${APP_EXTRA_FLAGS[@]}") -START_COMMAND=("${APP_EXEC:-/bin/bash}") +# 配置默认启动参数(应用配置文件、前台方式启动) +flags=("${REDIS_CONF_FILE:-}" "--daemonize" "no") +# 将启动时使用 REDIS_EXTRA_FLAGS 指定的参数附加在启动参数中 +[[ -z "${REDIS_EXTRA_FLAGS:-}" ]] || flags+=("${REDIS_EXTRA_FLAGS[@]}") +# 将启动时的传入参数附加在参数中 +flags+=("$@") + +# 设置启动命令 +START_COMMAND=("redis-server") LOG_I "** Starting ${APP_NAME} **" if is_root; then - exec gosu "${APP_USER}" tini -s -- "${START_COMMAND[@]}" "${flags[@]}" + exec gosu "${APP_USER}" "${START_COMMAND[@]}" "${flags[@]}" else - exec tini -s -- "${START_COMMAND[@]}" "${flags[@]}" + exec "${START_COMMAND[@]}" "${flags[@]}" fi diff --git a/customer/usr/local/bin/run.sh b/customer/usr/local/bin/run.sh index 475b117..90e4b1c 100755 --- a/customer/usr/local/bin/run.sh +++ b/customer/usr/local/bin/run.sh @@ -14,14 +14,20 @@ set -o pipefail LOG_I "** Processing run.sh **" -flags=("${APP_CONF_FILE:-}") -[[ -z "${APP_EXTRA_FLAGS:-}" ]] || flags=("${flags[@]}" "${APP_EXTRA_FLAGS[@]}") -START_COMMAND=("${APP_EXEC:-/bin/bash}") +# 配置默认启动参数(应用配置文件、前台方式启动) +flags=("${REDIS_CONF_FILE:-}" "--daemonize" "no") +# 将启动时使用 REDIS_EXTRA_FLAGS 指定的参数附加在启动参数中 +[[ -z "${REDIS_EXTRA_FLAGS:-}" ]] || flags+=("${REDIS_EXTRA_FLAGS[@]}") +# 将启动时的传入参数附加在参数中 +flags+=("$@") + +# 设置启动命令 +START_COMMAND=("redis-server") LOG_I "** Starting ${APP_NAME} **" if is_root; then - exec gosu "${APP_USER}" tini -s -- "${START_COMMAND[@]}" "${flags[@]}" + exec gosu "${APP_USER}" "${START_COMMAND[@]}" "${flags[@]}" else - exec tini -s -- "${START_COMMAND[@]}" "${flags[@]}" + exec "${START_COMMAND[@]}" "${flags[@]}" fi