一、一键安装docker环境

  1. 安装docker:
  2. curl -s https://get.docker.com/ | sh
  3. 安装pip
  4. curl -s https://bootstrap.pypa.io/get-pip.py | python
  5. 安装docker-compose
  6. 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