mao123qw commited on
Commit
a3de6d7
·
verified ·
1 Parent(s): 0b81ad4

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +44 -0
Dockerfile ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用官方Ubuntu基础镜像
2
+ FROM ubuntu:22.04
3
+
4
+ # 设置环境变量
5
+ ENV TZ=Asia/Shanghai \
6
+ JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \
7
+ APP_USER=reader \
8
+ APP_HOME=/app
9
+
10
+ # 安装Java及其他依赖
11
+ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
12
+ && apt-get update \
13
+ && apt-get install -y --no-install-recommends \
14
+ openjdk-17-jdk \ # 安装完整的JDK环境
15
+ ca-certificates \
16
+ curl \
17
+ unzip \
18
+ bash \
19
+ && apt-get clean \
20
+ && rm -rf /var/lib/apt/lists/* \
21
+ # 创建专用用户
22
+ && useradd -r -u 1000 -m -d $APP_HOME -s /bin/bash $APP_USER \
23
+ && chown -R $APP_USER:$APP_USER $APP_HOME
24
+
25
+ # 配置Java环境路径
26
+ ENV PATH=$JAVA_HOME/bin:$PATH
27
+
28
+ # 设置工作目录和用户
29
+ WORKDIR $APP_HOME
30
+ USER $APP_USER
31
+
32
+ # 复制安装脚本
33
+ COPY --chown=reader:reader install_reader.sh ./
34
+
35
+ # 脚本适配修改
36
+ RUN chmod +x install_reader.sh \
37
+ && sed -i 's|./bin/startup.sh -m single|exec &|' install_reader.sh
38
+
39
+ # 健康检查
40
+ HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
41
+ CMD curl -fs http://localhost:8080/ || exit 1
42
+
43
+ # 容器入口
44
+ ENTRYPOINT [ "./install_reader.sh" ]