HuggingFace0920 commited on
Commit
e2e89ab
·
verified ·
1 Parent(s): c2218ae

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +24 -32
Dockerfile CHANGED
@@ -1,37 +1,29 @@
1
- # 使用 Ubuntu 22.04 作为基础镜像。
2
- FROM ubuntu:22.04
3
 
4
- # 设置时区
5
- ENV TZ=Asia/Shanghai
6
- RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
7
-
8
- # 设置容器内的工作目录。所有后续命令都将在此目录中执行。
9
- WORKDIR /app
10
-
11
- # 确保安装了 curl 和 jq,它们是用于从 GitHub API 获取下载链接的工具。
12
- # ca-certificates 用于确保 HTTPS 连接的安全。
13
- RUN apt-get update && apt-get install -y --no-install-recommends curl jq ca-certificates && rm -rf /var/lib/apt/lists/*
14
-
15
- # 下载 OpenList 的最新 release 版本。
16
- RUN wget -q -O openlist-linux-amd64.tar.gz -L https://github.com/OpenListTeam/OpenList/releases/download/beta/openlist-linux-amd64.tar.gz
17
 
18
- # 解压下载的 tarball,并确保 OpenList 可执行文件位于正确的位置并具有执行权限。
19
- # OpenList 的 Go 二进制文件解压后可能在子目录中(例如,一个名为 OpenList 的文件夹)。
20
- # 此命令会检查几种常见的解压情况,并将实际的 'openlist' 二进制文件移动到 /app 目录下。
21
- RUN tar -xzf openlist-linux-amd64.tar.gz && \
22
- # 尝试将可执行文件移动到 /app 目录的根部
23
- (mv OpenList/openlist . || mv openlist . || find . -type f -name "openlist*" -exec mv {} . \;) && \
24
- # 清理可能存在的 OpenList 子目录,避免不必要的空间占用
25
- rm -rf OpenList && \
26
- # 授予 'openlist' 二进制文件执行权限
27
- chmod +x ./openlist
28
-
29
- # 确保 /app 目录对容器内的运行用户具有写权限,以便应用可以创建其数据目录。
30
- RUN chmod -R 777 /app
31
-
32
- # 暴露应用程序监听的端口。OpenList 默认监听 5244 端口。
 
33
  EXPOSE 5244
34
 
35
- # 设置容器启动时执行的默认命令。
36
- # 这是运行 OpenList 服务器的实际命令。
37
  CMD ["./openlist", "server"]
 
1
+ # ---- 基础镜像 ----
2
+ FROM alpine:3.20
3
 
4
+ # ---- 运行时所需依赖 ----
5
+ # 1. ca-certificates = HTTPS 证书
6
+ # 2. tzdata = 时区数据库
7
+ # 3. curl = 下载二进制文件(比 wget 更常见于 Alpine)
8
+ RUN apk add --no-cache ca-certificates tzdata curl
 
 
 
 
 
 
 
 
9
 
10
+ # ---- 设置时区 ----
11
+ ENV TZ=Asia/Shanghai
12
+ # 把时区软链接到 /etc/localtime,并写入 /etc/timezone,tzdata 包已提供完整 zoneinfo
13
+ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
14
+ echo $TZ > /etc/timezone
15
+
16
+ # ---- 安装 OpenList ----
17
+ WORKDIR /opt/openlist
18
+ # 单行完成:下载 解压 → 删除压缩包 → 授予执行权限
19
+ RUN curl -L -o openlist.tar.gz \
20
+ https://github.com/OpenListTeam/OpenList/releases/download/beta/openlist-linux-amd64.tar.gz && \
21
+ tar -xzf openlist.tar.gz && \
22
+ rm openlist.tar.gz && \
23
+ chmod +x openlist
24
+
25
+ # ---- 暴露端口(假设 OpenList 默认用 5244,可按需修改)----
26
  EXPOSE 5244
27
 
28
+ # ---- 入口 ----
 
29
  CMD ["./openlist", "server"]