2021.7 更新
在重新编写了Dockerfile之后,最新的LNMP的容器环境终于可以用了......详情见项目地址:https://github.com/xiabee/LNMP-Docker
具体使用方式见仓库中的README.md
以下内容为原贴,也是利用php镜像搭建WEB环境,但是可扩展性没有上述方式好。
来不及批服务器了,直接在本地搭了一个nginx服务,造一台靶机来打
原理和之前搭建个人博客一毛一样,这里只是用php
的镜像替换掉了wordpress
0x00 目录结构
├── docker-compose.yml
└── www
├── conf
│ └── nginx.conf
└── web
└── index.php
0x01 文件内容
docker-compose.yml
version: "2.3"
services:
nginx:
image: nginx
privileged: true
ports:
- "80:80"
volumes:
- ./www/web:/usr/share/nginx/html
- ./www/conf:/etc/nginx/conf.d
- ./www/logs:/var/log/nginx
networks:
- web-net
php:
image: phpdockerio/php72-fpm
privileged: true
volumes:
- ./www/web:/web
networks:
- web-net
mysql:
image: mysql
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
networks:
- web-net
networks:
web-net:
www/conf/nginx.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /web/$fastcgi_script_name;
include fastcgi_params;
}
}
www/web/index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello</title>
</head>
<body>
<h2>Hello World!</h2>
</body>
</html>
0x02 运行
docker-compose up -d
记得配置www/conf/nginx.conf
,不然可能会遇到我之前的哈皮问题:一个nginx.conf引发的惨案
运行效果图:
然后浏览器访问 127.0.0.1
:
配置成功!
然后就可以在里面配置靶场环节啦
Comments | NOTHING