# 使用 Alpine Linux 作为基础镜像,并命名为 builder 阶段 FROM alpine AS builder # 安装必要的软件包(Node.js、npm 和 Git) RUN apk add --no-cache nodejs npm git # 升级全局安装的 npm 到最新版本 RUN npm install npm -g # 创建名为 app 的非交互式用户 RUN adduser -D app # 切换用户为 app,后续命令将以该用户身份执行 USER app # 设置工作目录为 /home/app WORKDIR /home/app # 在 /home/app 目录下克隆指定的 Git 仓库 RUN git clone https://github.com/louislam/uptime-kuma.git # 设置工作目录为 /home/app/uptime-kuma WORKDIR /home/app/uptime-kuma # 在 uptime-kuma 项目目录下运行 npm 脚本 setup RUN npm run setup # 声明容器将监听的端口 EXPOSE 3001 # 指定容器启动时要运行的默认命令 CMD ["node", "server/server.js"]