通过docker部署ctf题目

最近社团要开始新一轮纳新。
出题的责任便落到了自己身上。
经过和各位大佬们深入交流,最终了解到要用docker部署。
自己的理解是,docker有点像一个轻量级的虚拟机。
这样就方便了主机不被黑。以及可以快速回滚,并且不用占用太多资源。简直是神器。

0x01 安装docker

初始环境
阿里云9.9元学生机
Ubuntu 16.04 64位

首先使用apt安装docker

apt install docker.io

然后执行docker,查看一下是否安装成功。

接下来就可以部署镜像了。

0x02 部署镜像

找一个适合自己的镜像。
阿里镜像中心

由于自己要部署web题,所以自己选择了一个apache-php5

docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5

然后运行镜像,并绑定一下端口。

docker run -d -p 2027:80 registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5

此时会返回一个值,表示该运行docker的id。以后如果想访问这个容器,需要通过该id。

然后将本地题目文件拷贝到docker,使用docker的cp命令即可。
在id前几位没有重复的情况下,可以取前几位。
docker cp ./test e664955e:/var/www/

因为该镜像已经将环境集成好,所以此时就不用管他了。

直接 可以进行curl 127.0.0.1:2017测试一下是否部署成功

0x03 访问docker容器

最后,写一下如何进入docker容器内部.

docker exec -it e664955e bash

-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端

参考资料

  1. 菜鸟教程-Docker 命令大全
  2. 【docker】使用docker快速搭建nginx+php开发环境
  3. IMOOC-Docker入门
  4. 第一个docker化的java应用
文章目录
  1. 1. 0x01 安装docker
  2. 2. 0x02 部署镜像
  3. 3. 0x03 访问docker容器
  4. 4. 参考资料