FROM denoland/deno:alpine # 设置环境变量 ENV DENO_DIR=/deno-dir ENV IMAGE_DIR=/app/public/images WORKDIR /app # 创建必要的目录并设置权限 RUN mkdir -p /app/public/images && \ mkdir -p $DENO_DIR && \ chown -R deno:deno /app && \ chown -R deno:deno $DENO_DIR && \ chmod -R 755 /app/public # 复制文件 COPY . . # 缓存依赖 RUN deno cache main.ts # 切换到非root用户 USER deno EXPOSE 7860 # 启动命令,包含所有必要权限 CMD ["run", "--allow-net", "--allow-env", "--allow-read", "--allow-write", "main.ts"]