# 使用一个基础镜像,例如 Alpine Linux,因为它体积小巧,适合部署 Go 应用程序。 | |
FROM alpine:latest | |
# 1. 设置时区 | |
ENV TZ=Asia/Shanghai | |
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone | |
# 设置工作目录 | |
WORKDIR /app | |
# 2. 获取 OpenList 二进制文件 | |
# wget 可能未预装,所以先安装它和 ca-certificates | |
RUN apk add --no-cache wget ca-certificates | |
# 下载 OpenList 的最新 release 版本 | |
RUN wget -q https://github.com/OpenListTeam/OpenList/releases/latest/download/openlist-linux-amd64.tar.gz | |
# 3. 解压并授予执行权限 | |
# 注意:tar 和 chmod/运行命令需要分开,或者使用 '&&' 连接 | |
RUN tar -xzf openlist-linux-amd64.tar.gz | |
# 授予下载的 openlist 二进制文件执行权限 | |
RUN chmod +x openlist | |
# 4. 运行 OpenList 服务器 | |
# 设置容器启动时执行的命令 | |
CMD ["./openlist", "server"] | |
# 如果 OpenList 是一个 Web 服务,它可能会监听某个端口 | |
# 您需要查看 OpenList 的文档以确定它监听的端口 | |
# 例如,如果它监听 8000 端口,可以取消注释下面这行: | |
EXPOSE 5244 |