web服务器运维笔记,【服务器运维】docker部署CTF-web环境的学习笔记

作者:G4br1el

QQ:2063367671

一、一键安装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

你可能感兴趣的:(web服务器运维笔记)