# 使用一个轻量级的 Python 官方镜像作为基础 FROM python:3.11-slim # 创建一个低权限的用户来运行代码,增加安全性 # -S: 创建一个系统用户 (没有 home 目录) # -u: 指定用户ID # -g: 指定组ID RUN groupadd -g 1001 sandbox && useradd -u 1001 -g sandbox -s /bin/sh -r sandbox # 创建一个工作目录,用于存放和执行用户的代码 WORKDIR /sandbox # 将目录所有权交给沙箱用户 RUN chown sandbox:sandbox /sandbox # 切换到沙箱用户 USER sandbox # 默认的启动命令是 python,这样容器启动时可以直接执行 .py 文件 CMD ["python"]