feat: 优化Dockerfile

This commit is contained in:
2023-08-16 09:24:44 +08:00
parent 942ab8508a
commit e3c65c4914
+16 -20
View File
@@ -35,7 +35,6 @@ FROM --platform=${TARGETPLATFORM:-linux/amd64} ${REGISTRY_URL}colovu/dbuilder:12
# 声明需要使用的全局可变参数
ARG APP_NAME
ARG APP_VER
ARG REGISTRY_URL
ARG APT_SOURCE
ARG LOCAL_URL
@@ -103,17 +102,13 @@ FROM --platform=${TARGETPLATFORM:-linux/amd64} ${REGISTRY_URL}colovu/debian:12
# 声明需要使用的全局可变参数
ARG APP_NAME
ARG APP_VER
ARG REGISTRY_URL
ARG APT_SOURCE
ARG LOCAL_URL
ARG TARGETARCH
# 镜像所包含应用的基础信息,定义环境变量,供后续脚本使用
ENV APP_NAME=${APP_NAME} \
APP_VER=${APP_VER} \
APP_EXEC=slapd
ENV APP_HOME_DIR=/usr/local/${APP_NAME} \
APP_EXEC=slapd \
APP_HOME_DIR=/usr/local/${APP_NAME} \
APP_DEF_DIR=/etc/${APP_NAME}
ENV PATH="${APP_HOME_DIR}/sbin:${APP_HOME_DIR}/bin:${APP_HOME_DIR}/libexec:${PATH}" \
@@ -128,21 +123,23 @@ LABEL \
# 从预处理过程中拷贝软件包(Optional),可以使用阶段编号或阶段命名定义来源
COPY --from=0 /usr/local/${APP_NAME} /usr/local/${APP_NAME}
# 拷贝应用使用的客制化脚本,并创建对应的用户及数据存储目录
# 拷贝应用使用的客制化脚本
COPY customer /
RUN set -eux; \
\
# 创建对应的用户及数据存储目录
prepare_env; \
/bin/bash -c "ln -sf /usr/local/${APP_NAME}/etc/${APP_NAME} /etc/";
# 选择软件包源(Optional),以加速后续软件包安装
RUN select_source ${APT_SOURCE}
# 安装依赖的软件包及库(Optional)
RUN install_pkg `cat /usr/local/${APP_NAME}/runDeps`;
RUN install_pkg pwgen
# 执行预处理脚本,并验证安装的软件包
RUN set -eux; \
/bin/bash -c "ln -sf /usr/local/${APP_NAME}/etc/${APP_NAME} /etc/"; \
\
# 选择软件包源(Optional),以加速后续软件包安装
select_source ${APT_SOURCE}; \
\
# 安装依赖的软件包及库(Optional)
install_pkg `cat /usr/local/${APP_NAME}/runDeps`; \
install_pkg pwgen; \
\
# 执行预处理脚本,并验证安装的软件包
override_file="/usr/local/overrides/overrides-${APP_VER}.sh"; \
[ -e "${override_file}" ] && /bin/bash "${override_file}"; \
${APP_EXEC} -V | :;
@@ -155,7 +152,6 @@ EXPOSE 8389 8636
# 关闭基础镜像的健康检查
#HEALTHCHECK NONE
# 应用健康状态检查
HEALTHCHECK --interval=10s --timeout=10s --retries=3 \
CMD netstat -ltun | grep 8389