FROM ghcr.io/engineer-man/piston@sha256:63b5654156a89c5a2ad281aface21416615d62ec056d88efe8fcd307ce73575a # 设置环境变量 ENV PORT=7860 ENV PISTON_COMPILE_TIMEOUT=60000 ENV PISTON_RUN_TIMEOUT=60000 ENV PISTON_OUTPUT_MAX_SIZE=1000000000 ENV PISTON_MAX_FILE_SIZE=1000000000 ENV PISTON_DISABLE_NETWORKING=true ENV PISTON_REPO_URL=https://github.com/guipenedo/piston/releases/download/pkgs/index # 安装 curl RUN apt-get update && apt-get install -y curl # 创建必要的目录并设置权限 RUN mkdir -p /piston/packages /piston/jobs && \ chmod -R 777 /piston/packages /piston/jobs # 修改请求大小限制 RUN sed -i '/app.use(body_parser.urlencoded/c\ app.use(body_parser.urlencoded({ extended: true, limit: \"512mb\" }));' src/index.js && \ sed -i '/app.use(body_parser.json/c\ app.use(body_parser.json({ limit: \"512mb\" }));' src/index.js # 暴露端口 EXPOSE 7860 # 创建启动脚本 COPY start.sh /piston/start.sh RUN chmod +x /piston/start.sh # 启动服务 CMD ["/piston/start.sh"]