一、镜像管理

1.1 创建Docker镜像

  1. 填写镜像名称(如:nginx)
  2. 填写镜像标签(默认:latest)
  3. 选择镜像仓库(docker.io 或 私有仓库地址)
  4. 选择镜像类型分类
  5. 填写镜像描述

1.2 动态Flag配置

标准环境变量: - 镜像已内置动态Flag,使用SNOW_FLAG环境变量读取

自定义环境变量: - 镜像已内置动态Flag,但不是标准的SNOW_FLAG变量名称,使用自定义变量名(如FLAG、CTF_FLAG) - 填写镜像中的环境变量名

脚本注入: - 镜像无内置支持,通过脚本注入 - 填写注入脚本,例如:echo "$SNOW_FLAG" > /flag.txt

无需注入: - 镜像不支持动态Flag,使用静态Flag

1.3 端口和资源

  • 暴露端口:容器内部暴露的端口,多个端口用逗号分隔,如:80,3306
  • 内存限制:轻量级256MB,中型512MB,重型1024MB+
  • CPU限制:轻量级0.5核,中型1核,重型2核+

1.4 镜像审核

  • 管理员创建的镜像自动审核通过
  • 普通用户创建的需审核
  • 审核通过后镜像才能使用

二、静态文件管理

2.1 上传静态文件

  1. 填写文件名称
  2. 上传压缩包(支持zip、rar、7z、tar、gz格式)
  3. 填写文件描述

2.2 文件审核

  • 管理员创建的文件自动审核通过
  • 普通用户上传的文件需管理员审核
  • 审核通过后用户才能下载

三、注意事项

3.1 镜像配置

  • 镜像名称包含冒号时会自动拆分
  • 确保镜像支持动态Flag或使用静态Flag
  • 端口配置要与镜像实际端口一致
  • 资源限制要根据镜像实际需求设置

3.2 动态Flag

  • 标准环境变量使用SNOW_FLAG,镜像需支持该变量
  • 自定义环境变量需要确认镜像中的变量名
  • 脚本注入适用于不支持环境变量的镜像
  • 静态Flag适用于不支持动态Flag的镜像

3.3 资源限制

  • 轻量级服务(如Nginx):100MB内存,0.3核CPU
  • 中型服务(如Web应用):512MB内存,1核CPU
  • 重型服务(如数据库):1024MB+内存,2核+CPU
  • 根据实际需求合理设置资源限制

3.4 文件管理

  • 文件上传有频率限制(30秒内不能重复上传)
  • 8分钟内上传超过14次会被封禁
  • 确保文件格式正确且无恶意内容
  • 压缩包建议使用zip或tar.gz格式

3.5 审核机制

  • 管理员创建的资源自动审核通过
  • 普通用户创建的资源需要管理员审核
  • 及时审核用户提交的资源,避免影响使用
  • 审核时要检查资源的安全性和可用性