reader-server / Dockerfile
mao123qw's picture
Update Dockerfile
7713a05 verified
# 使用官方Ubuntu基础镜像
FROM ubuntu:22.04
# 设置环境变量
ENV TZ=Asia/Shanghai \
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \
APP_USER=reader \
APP_HOME=/app
# 安装依赖并配置环境
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
&& echo $TZ > /etc/timezone \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
openjdk-17-jdk \
ca-certificates \
curl \
unzip \
bash \
jq \
python3 \
python3-pip \
python3-venv \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates \
&& useradd -r -u 1000 -m -d $APP_HOME -s /bin/bash $APP_USER \
&& chown -R $APP_USER:$APP_USER $APP_HOME
ENV VIRTUAL_ENV=/app/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN pip install --no-cache-dir huggingface_hub
# 配置Java环境路径
ENV PATH=$JAVA_HOME/bin:$PATH
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
# 设置工作目录和用户
WORKDIR $APP_HOME
USER $APP_USER
# 复制安装脚本并设置权限
COPY --chown=reader:reader install_reader.sh ./
COPY --chown=reader:reader sync_data.sh ./
RUN chmod +x install_reader.sh \
&& sed -i 's|./bin/startup.sh -m single|exec &|' install_reader.sh
RUN chmod +x sync_data.sh
EXPOSE 8080
# 容器入口
CMD ["/bin/sh", "-c", "./sync_data.sh"]