reader / Dockerfile
mao123qw's picture
Update Dockerfile
18cee96 verified
raw
history blame
1.27 kB
# 使用官方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 \
&& 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
# 配置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 ./
COPY --chown=reader:reader hf_sync.py ./
RUN chmod +x install_reader.sh \
&& sed -i 's|./bin/startup.sh -m single|exec &|' install_reader.sh
RUN chmod +x sync_data.sh
RUN chmod +x hf_sync.py
EXPOSE 8080
# 容器入口
CMD ["/bin/sh", "-c", "./sync_data.sh"]