Spaces:
Running
Running
File size: 1,132 Bytes
6ce16b9 41c6f54 6ce16b9 5ecef72 41c6f54 5ecef72 6ce16b9 74d5bae 6ce16b9 d56f200 b2a8c60 0c6bd9c 6ce16b9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# 使用Alpine Linux作为基础镜像 - 体积小,适合容器化应用
FROM debian:latest
# 更新镜像
RUN apt update -y
RUN apt install curl wget -y
# 创建应用目录 - 确保目录存在
RUN mkdir -p /app/webx
# 复制应用程序文件到容器中
COPY webx /app/webx/webx
# 赋予二进制文件可执行权限
RUN chmod +x /app/webx/webx
# 创建非特权用户 - 安全最佳实践
# 创建ID为1001的普通用户,符合HF Spaces要求
RUN useradd -m -u 1000 user
# 设置目录权限 - 确保用户可以访问应用程序目录
# 将应用目录所有权给普通用户
RUN chown -R user:user /app
# 切换到非root用户 - 提高容器安全性
USER user
# 设置环境变量
ENV HOME=/home/user \
PATH=/app/webx:$PATH
# 设置应用程序的工作目录 - 确保程序能找到配置文件
WORKDIR /app/webx
# 仅暴露必要端口 - 减少攻击面
# 应用程序监听的端口
EXPOSE 8632
# 设置容器启动时执行的命令 - 应用程序入口点
# 使用当前目录的相对路径执行,确保可以找到配置文件
CMD ["./webx"] |