docker复现ctf
docker复现ctf
0x00 docker常用命令
- 拉取镜像 - 1 - docker pull [image] 
- 查看docker当前镜像 - 1 
 2
 3- docker image ls 
 docker images
- 新建docker容器,并映射端口号 - 1 - docker run -d -p [host port]:[docker port][image] 
- 查看运行中的docker容器 - 1 - docker ps -a 
- 进入一个docker容器 - 1 - docker exec -it [container id] bash 
- 拷贝本地文件到docker - 1 - docker cp [本地路径] [container id]:[container 路径] 
- 启动/停止一个docker容器 - 1 
 2- docker start [container id] 
 docker stop [container id]
- 删除一个docker容器(注意:在镜像对应的容器后才可以删除镜像ID) - 1 - docker rm [container id] 
0x01 使用docker搭建一道简单的ctf题目
- 搜索lamp环境的docker镜像 - 1 - docker search lamp  
- 拉取“tutum/lamp”镜像 - 1 - docker pull tutum/lamp 
- 拉取完成以后,查看本地docker镜像 - 1 - docker images  
- 新建一个docker容器 - 1 
 2
 3- docker run -d -p 100:80 -p 3307:3306 tutum/lamp 
 -d //容器后台运行
 -p //指定映射端口
- 查看系统中运行的docker容器 - 1 - docker ps -a  
- 使用浏览器访问一下主页,查看映射是否正常  
- 将ctf题目源码拷贝到container的主目录中 - 1 - docker cp test_ctf/ a47e911ecebf:/var/www/html/ 
- 进入docker container - 1 
 2
 3- docker exec -it a47e911ecebf bash 
 -i //让容器的标准输入保持打开
 -t //让docker分配一个伪终端并绑定到容器的标准输出上 
- 进入容器中的数据库,创建好ctf题目需要的数据库、数据表等等。 
 (数据库密码为空)- 1 - mysql -uroot -p  
- 到这里,这个ctf题目就搭建好了,我们访问一下  