CTFd 个人练习小型靶场搭建笔记
CTFd 靶场搭建笔记本文档记录了从零开始在 Ubuntu 服务器上部署 CTFd 的完整流程包含 Docker 安装、镜像加速、Dockerfile 换源等常见坑的解决方案。一、下载与上传前往 GitHub 下载 CTFd 源码包# 或直接在服务器上用 wget 拉取wgethttps://github.com/CTFd/CTFd/archive/refs/heads/master.zip上传至服务器如果本地下载的话然后解压sudoaptupdate-ysudoaptinstallunzip-yunzipCTFd-master.zip-d/opt/(我下载到/opt目录了进入对应目录)进入目录cd/opt/CTFd-master二、安装 Dockersudoaptupdate-ysudoaptinstall-yca-certificatescurlgnupg lsb-release# 添加 Docker 官方 GPG 密钥curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|\sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpg# 添加 Docker APT 源echodeb [arch$(dpkg --print-architecture)signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu$(lsb_release-cs)stable|\sudotee/etc/apt/sources.list.d/docker.list/dev/null# 安装 Docker Compose 插件sudoaptupdate-ysudoaptinstall-ydocker-compose-plugin三、首次 build 失败与换源处理3.1 问题直接执行docker compose build大概率会因为国内网络问题拉取镜像超时失败。3.2 Docker 镜像加速推荐使用 DaoCloud 镜像加速# 拉取 Python 基础镜像以 daoCloud 代理拉取dockerpull m.daocloud.io/docker.io/library/python:3.11-slim-bookworm# 打 tag 还原为原始名称dockertag m.daocloud.io/docker.io/library/python:3.11-slim-bookworm\docker.io/library/python:3.11-slim-bookworm参考https://github.com/DaoCloud/public-image-mirror3.3 APT PIP 换源编辑 CTFd 项目根目录下的Dockerfile在开头附近加入以下内容# apt 换源为中科大镜像 RUN sed -i s/deb.debian.org/mirrors.ustc.edu.cn/g /etc/apt/sources.list.d/debian.sources # pip 换源 RUN pip install -i https://mirrors.ustc.edu.cn/pypi/simple pip -U RUN pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/simpleUSTC 镜像源参考https://mirrors.ustc.edu.cn/help/3.4 重新 builddockercompose build此时应当可以成功构建。四、启动服务dockercompose up-d五、其他依赖镜像CTFd 还会依赖mariadb:10.11、redis:4、nginx:stable等镜像。如果拉取失败同样通过 DaoCloud 代理拉取dockerpull m.daocloud.io/docker.io/library/mariadb:10.11dockertag m.daocloud.io/docker.io/library/mariadb:10.11 docker.io/library/mariadb:10.11部分镜像如 redis、nginx可能遇到同样的问题。如果上述方式不行可以配置阿里云镜像加速器统一解决。阿里云的只能阿里云服务产品才可以使用阿里云镜像加速配置参考https://help.aliyun.com/zh/acr/user-guide/accelerate-the-pulls-of-docker-official-images按照指引配置/etc/docker/daemon.json中的registry-mirrors然后重启 Docker 即可全局生效。六、验证部署dockerps如果所有容器的STATUS列为Up则说明搭建成功。七、访问配置浏览器访问http://服务器IP:8000即可进入 CTFd 初始化配置页面。默认端口为 8000可在docker-compose.yml中修改端口映射。附命令速查操作命令构建镜像docker compose build启动服务docker compose up -d停止服务docker compose down查看状态docker ps查看日志docker compose logs -f

相关新闻

VM-虚拟机网络设置

VM-虚拟机网络设置

笔记本网络为例桥式连接设置

2026/6/20 6:58:20阅读更多 →
nmcli c

nmcli c

1、用nmcli c 新增一个名为ens201的连接,该连接的IP等网络参数(eg:ip获取的方式、dns、网关、IP地址)是自动获取的2、用nmcli c 新增一个名为ens203的连接,该连接的IP等网络参数(eg:ip获取的方式、dns、网关、IP地址)是手动设置的将上图中no改为yes即可3…

2026/6/20 6:58:20阅读更多 →
FastGPT 工作流:可视化 Agent Harness 设计

FastGPT 工作流:可视化 Agent Harness 设计

FastGPT 工作流:可视化 Agent Harness 设计 摘要/引言 开门见山 想象一下,你不需要编写一行复杂的代码,只需通过拖拽、连接和配置,就能构建出功能强大的 AI 助手工作流。这不再是科幻小说中的场景,而是 FastGPT 通过其可视化 Agent Harness 设计为我们带来的现实。在当…

2026/6/20 6:58:20阅读更多 →
MAC7100微控制器PLL时钟抖动对外部总线时序的影响与设计实践

MAC7100微控制器PLL时钟抖动对外部总线时序的影响与设计实践

1. 项目概述与核心挑战 在基于MAC7100系列微控制器的嵌入式系统设计中,尤其是那些涉及高速数据交换、精密定时或与外部存储器、FPGA、ASIC等复杂外设通信的场景,系统时钟的纯净度与外部总线时序的确定性是决定项目成败的关键。许多工程师在项目后期调试时…

2026/6/20 8:13:26阅读更多 →
嵌入式ADC队列化设计:QADC扫描模式与边界条件深度解析

嵌入式ADC队列化设计:QADC扫描模式与边界条件深度解析

1. 项目概述与核心价值在嵌入式系统开发,尤其是涉及实时数据采集的领域,比如电机控制、环境监测或者电池管理系统,模数转换器(ADC)的性能和灵活性直接决定了整个系统的响应速度和精度。传统的ADC使用方式,通…

2026/6/20 8:13:26阅读更多 →
深入解析MC68HC908RF2A指令集与CPU架构:从寻址模式到实战优化

深入解析MC68HC908RF2A指令集与CPU架构:从寻址模式到实战优化

1. 项目概述:深入MC68HC908RF2A的指令世界 如果你曾经在8位微控制器(MCU)的世界里摸爬滚打过,那么对飞思卡尔(Freescale,现为NXP的一部分)的68HC08系列一定不会陌生。这个家族以其出色的性价比、…

2026/6/20 8:13:26阅读更多 →
UVDoc:文档图像矫正的突破性解决方案,OCR识别准确率提升40%

UVDoc:文档图像矫正的突破性解决方案,OCR识别准确率提升40%

UVDoc:文档图像矫正的突破性解决方案,OCR识别准确率提升40% 【免费下载链接】UVDoc 项目地址: https://ai.gitcode.com/paddlepaddle/UVDoc 当您使用手机拍摄文档、扫描弯曲纸张或处理历史档案时,是否经常遇到文字扭曲、透视变形导致…

2026/6/20 8:13:26阅读更多 →
Translumo:Windows实时屏幕翻译神器完整使用教程与配置指南

Translumo:Windows实时屏幕翻译神器完整使用教程与配置指南

Translumo:Windows实时屏幕翻译神器完整使用教程与配置指南 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 你…

2026/6/20 8:13:26阅读更多 →
嵌入式设计基石:深入解读MCU电气规格与工程实践

嵌入式设计基石:深入解读MCU电气规格与工程实践

1. 项目概述:为什么电气规格是嵌入式设计的“宪法”干了十几年嵌入式开发,我越来越觉得,看一款MCU的Datasheet,最硬核、最不能跳过的部分就是电气规格(Electrical Specifications)。这玩意儿就像芯片的“宪…

2026/6/20 8:08:26阅读更多 →
【课程设计/毕业设计】基于 Web 的高校县志馆藏信息综合管理系统设计与实现 基于Django的青岛滨海学院特色文献捐赠流转管理系统的设计与实现【附源码、数据库、万字文档】

【课程设计/毕业设计】基于 Web 的高校县志馆藏信息综合管理系统设计与实现 基于Django的青岛滨海学院特色文献捐赠流转管理系统的设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/20 0:02:40阅读更多 →
MC68HC908RF2A定时器PWM生成原理与实战:无缓冲与缓冲模式详解

MC68HC908RF2A定时器PWM生成原理与实战:无缓冲与缓冲模式详解

1. 项目概述与核心价值在嵌入式开发,尤其是电机驱动、LED调光、开关电源这些需要精确控制“能量”的领域,脉冲宽度调制(PWM)技术是工程师手中的一把瑞士军刀。它的本质很简单:用一个固定频率的方波,通过改变…

2026/6/20 0:02:40阅读更多 →
在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载

在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载

1. 银河麒麟V10桌面系统与软RAID 1基础认知 第一次在银河麒麟V10桌面上折腾软RAID 1时,我踩了不少坑。这个国产操作系统基于Linux内核,但2205版本对软RAID模块做了特殊处理,需要额外操作才能正常使用。软RAID 1其实就是磁盘镜像技术&#xff…

2026/6/20 0:02:40阅读更多 →