docker复现ctf
docker复现ctf
0x00 docker常用命令
拉取镜像
1
docker pull [image]
查看docker当前镜像
1
2
3docker 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
2docker 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
3docker 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
3docker exec -it a47e911ecebf bash
-i //让容器的标准输入保持打开
-t //让docker分配一个伪终端并绑定到容器的标准输出上进入容器中的数据库,创建好ctf题目需要的数据库、数据表等等。
(数据库密码为空)1
mysql -uroot -p
到这里,这个ctf题目就搭建好了,我们访问一下