reader / Dockerfile
mao123qw's picture
Create Dockerfile
a3de6d7 verified
raw
history blame
1.18 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
# 安装Java及其他依赖
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 \ # 安装完整的JDK环境
ca-certificates \
curl \
unzip \
bash \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
# 创建专用用户
&& 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
# 设置工作目录和用户
WORKDIR $APP_HOME
USER $APP_USER
# 复制安装脚本
COPY --chown=reader:reader install_reader.sh ./
# 脚本适配修改
RUN chmod +x install_reader.sh \
&& sed -i 's|./bin/startup.sh -m single|exec &|' install_reader.sh
# 健康检查
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
CMD curl -fs http://localhost:8080/ || exit 1
# 容器入口
ENTRYPOINT [ "./install_reader.sh" ]