一、一键安装docker环境
安装docker:
curl -s https://get.docker.com/ | sh
安装pip:
curl -s https://bootstrap.pypa.io/get-pip.py | python
安装docker-compose:
pip install docker-compose
二、docker部署CTF-web环境(如需搭建ctfd等平台移步官方文档搭建教程,推荐docker一键搭建)
1、查找可用镜像:docker search lamp
(这是linux+apache+mysql+php的集成环境,部署web题可用)
2、拉取镜像:docker pull tutum/lamp
(具体镜像看需求,这里是Out-of-the-box LAMP image (PHP+MySQL) )
3、运行镜像并绑定端口:docker run -d -p 1000:80 tutum/lamp
1000指的是需要公网访问的端口,后面跟镜像名称,如果是要不同端口搭建不同web题目可重复使用此命令,改端口就行。
4、最好先把题目下载到服务器本地,然后把题目拷贝到docker容器:
docker cp 题目路径 容器ID:/var/www/html
一般web路径是/var/www/html,容器里面很多命令都没有,如wget,unzip等都没有,建议在本地就弄好
三、如web题目要用到数据库(使用数据库命令注意大小写,如报错就切换大小写,最后还要有分号)
1、进入要用到数据库的容器内部:
docker exec -it 容器ID /bin/bash0
2、进入之后连接数据库:
mysql -u root (默认没有密码)
3、可以先看看有什么数据库:SHOW DATABASE;
4、创建数据库:create DATABASE 数据库名;
5、使用数据库:use database;
6、给数据库创建用户:create user user@localhost identified by ‘pass’;
7、授权用户:grant all privileges on database.* to user@localhost;
8、刷新:flush privileges;
9、如写好了.sql的数据库,可导入数据:source 文件的路径 (这个路径是容器路径,一开始要把服务器本地的文件拷贝到容器里)
四、其他命令
1、查看有什么容器和运行情况:docker ps -a
2、进入容器:docker exec -it 容器ID /bin/bash
3、启动容器:docker start 容器ID1 容器ID2 (这个可以启动多个容器)
4、如果服务器重启了之后docker没启动,可以添加参数保证每次重启之后容器也重启:
docker update —restart=always 多个容器ID