《从0到1:CTFer 成长之路》书中涉及的题目已经封装成 docker 镜像,通过 docker 很容易能在本地实现做题的环境。
1. 安装 docker
- 使用官方安装脚本安装1 sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 
- 也可以使用国内 daocloud 一键安装命令:详细文档:https://www.runoob.com/docker/ubuntu-docker-install.html1 sudo curl -sSL https://get.daocloud.io/docker | sh 由于之前使用了 snap 安装过 docker,运行 docker 命令出现: 
 bash:/snap/bin/docker: No such file or directory
 而实际上使用官方安装脚本安装后的 docker 应该链接至:/usr/bin/docker
 因此将 /snap/bin/docker 链接至 /usr/bin/docker 即可
- 查看 docker 镜像1 sudo docker images 
- 重启 docker 服务1 
 2systemctl daemon-reload 
 systemctl restart docker
2. docker 换源
- docker换源的配置文件默认在/etc/docker/daemon.json,若无daemon.json,直接创建即可1 
 2
 3
 4
 5
 6cd /etc/docker 
 # 若该目录下无 daemon.json,直接创建
 sudo touch daemon.json
 sudo vim daemon.json
 # 将下面内容输入到 daemon.json 中1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14{ 
 "registry-mirrors" : [
 "http://ovfftd6p.mirror.aliyuncs.com",
 "http://registry.docker-cn.com",
 "http://docker.mirrors.ustc.edu.cn",
 "http://hub-mirror.c.163.com"
 ],
 "insecure-registries" : [
 "registry.docker-cn.com",
 "docker.mirrors.ustc.edu.cn"
 ],
 "debug" : true,
 "experimental" : true
 }
- 保存并重启 docker 服务
 确定是否换源成功,如果如下命令能看到 daemon.json 里的网址表示换源成功1 
 2systemctl daemon-reload 
 systemctl restart docker1 sudo docker info 
3. 安装 docker-compose
docker-compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
- 从 Github 安装
 使用 curl 下载 1.27.4版本,如果需要安装其他版本,修改版本号即可。1 curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 
- 增加执行权限1 chmod +x /usr/local/bin/docker-compose 
- 创建软链接1 ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose 
- 测试是否安装成功1 
 2# sudo docker-compose --version 
 docker-compose --version
4. 配置具体题目环境 docker-compose.yml
- 在 home/用户 下 创建一个测试目录 compose1 mkdir compose 
- 配置 docker-compose.yml,若不存在此文件,直接新建1 
 2
 3
 4
 5
 6
 7# yaml 配置:SQL 注入-1 
 version: '3.2'
 services:
 web:
 image: registry.cn-hangzhou.aliyuncs.com/n1book/web-information-backk:latest
 ports:
 - 80:80
5. 启动方式
在当前题目配置 docker-compose.yml 所在文件夹,执行以下命令
| 1 | docker-compose up -d | 
可以对每个题目都创建一个文件夹,里面存放这个题目的 docker-compose.yml,这样需要启动某个题目环境的时候直接进它的目录执行启动指令即可。
停止
| 1 | sudo docker-compose down | 
 
        