dockerfile/examples/kiwix-serve/standard/dockerfile

55 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 配置参数(指定基础镜像版本)
ARG BASE_TAG=15.6
# 基于 openSUSE Leap 构建
FROM opensuse/leap:$BASE_TAG
# 指定服务端口号
EXPOSE 10080
# 配置参数用户组、用户、HOME目录、安装目录、安装版本等
ARG GROUP_ID=1024 \
GROUP_NAME=kiwix \
USER_ID=1024 \
USER_NAME=kiwix \
USER_HOME=/home/kiwix \
USER_SHELL=/bin/bash
# 更新应用并安装基础应用、清除 zypper 缓存
RUN set -ex && \
zypper refresh && \
zypper update -y && \
zypper install -y curl && \
zypper clean
# 设置时区、新建用户组及用户、配置目录权限
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
groupadd $GROUP_NAME -g $GROUP_ID && \
useradd $USER_NAME -g $GROUP_ID -d $USER_HOME -s $USER_SHELL -u $USER_ID && \
mkdir -pv $USER_HOME && \
chown -R $GROUP_NAME.$USER_NAME $USER_HOME
# 配置环境变量
ARG KIWIX_SERVE_VERSION=3.7.0
ENV KIWIX_HOME=/opt/kiwix-serve/$KIWIX_SERVE_VERSION \
KIWIX_ZIM_FILE_DIR=/data
# 安装 Kiwix Server
COPY kiwix-serve $KIWIX_HOME/kiwix-serve
COPY entrypoint.sh $KIWIX_HOME/entrypoint.sh
RUN mkdir -pv $KIWIX_ZIM_FILE_DIR && \
chown -R $GROUP_NAME.$USER_NAME $KIWIX_HOME $KIWIX_ZIM_FILE_DIR && \
chmod -R 755 $KIWIX_HOME $KIWIX_ZIM_FILE_DIR
# 健康检查
HEALTHCHECK --interval=10s --timeout=3s CMD curl -f http://127.0.0.1:10080 || exit 1
# 设置工作目录
WORKDIR $KIWIX_HOME
# 设置启动用户
USER $GROUP_NAME:$USER_NAME
# 设置执行启动脚本
CMD ["/bin/bash","-c","./entrypoint.sh"]