Webx / Dockerfile
marisn's picture
Update Dockerfile
b2a8c60 verified
raw
history blame
1.13 kB
# 使用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"]