title: 使用docker搭建thinkphp环境
date: 2019-08-29 17:26:41
tags: docker

目标

鉴于使用vulhub复现漏洞没什么技术含量,所以就自己搭建漏洞环境来复现漏洞,目标是通过docker搭建一个lamp的集成环境。

操作步骤

搜索并下载镜像

搜索镜像

docker search lamp

下载镜像

docker pull linode/lamp

查看使用说明

下载好之后,官网上有相应的使用说明

https://hub.docker.com/

得到的信息

mysql的root密码是Admin2015

建立docker卷

docker volume create lamp_www           # apache的web根目录
docker volume create lamp_apache_conf   # apache的配置目录
docker volume create lamp_mysql_conf    # MySQL的配置目录
docker volume create lamp_mysql_data    # MySQL的数据目录

已经建立好的docker卷的目录为

/var/lib/docker/volumes/

启动镜像

docker run -it -p 80:80 -p 3306:3306 -v lamp_www:/var/www -v lamp_apache_conf:/etc/apache2 -v lamp_mysql_conf:/etc/mysql -v lamp_mysql_data:/var/lib/mysql --name lamp linode/lamp /bin/bash
 
# 解释:
# docker run:运行一个container,如果后面要绑定宿主主机的0-1024端口需要使用sudo
# -p port1:port2: 将宿主机的端口port1映射到容器中的port2
# -v volume:path: 将宿主机的docker卷映射到容器中的指定的路径
# -t -i linode/lamp /bin/bash:使用linode/lamp生成容器,并打开shell

至此lamp环境已经配置好了,如果需要mysql,apache环境,后续再进行安装即可

配置

进入终端

docker exec -ti lamp bash

启动apache2和mysql

service apache2 start
service mysql start

设置mysql允许远程登陆,修改密码

mysql -u root -p
#密码:Admin2015
 
#修改root可远程登录:
mysql>use mysql;
mysql>update user set host = '%' where user = 'root' and host='127.0.0.1';
 
#修改密码:
mysql>update user set password=password("your_password") where user='root';
 
#刷新权限
FLUSH PRIVILEGES;

安装php扩展

apt-get update
apt-get install -y php5-mysql
apt-get install -y php5-gd
 
...
 
#然后重启apache2:
service apache2 restart
 
#再次确认mysql和apache2有没有安装成功:
netstat -pant

这些操作进行完之后,apache2,mysql,php已经配置好了

导入thinkphp

去thinkphp官网下载相应的版本

http://www.thinkphp.cn/down.html

然后把代码拷贝进容器

docker cp /home/dvsx/Desktop/tp5 295d6419c877:/var/www/example.com/public_html/

需要注意的是拷贝进的目录不是www,而是public_html,因为默认的响应目录是后者。
完事之后就可以去网站访问了,另一个需要注意的是thinkphp的网址是

http://localhost/name/public

在这里插入图片描述

总结

docker的东西还挺多的,一点一点学,慢慢积累吧。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐