1.挂载/var/www/html/upload目录到容器的/var/www/html目录, 并将本地的8000端口映射到容器的80端口。
docker run -d -p 8000:80 -v /var/www/html/upload:/var/www/html docker.io/nickistre/ubuntu-lamp:latest
2.apache反向代理/upload/到http://127.0.0.1:8000,这样用户访问http://xxx.xxx.xxx.xxx/upload/shell.php文件实际是在容器内操作。
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName *
ProxyRequests off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /upload/ http://127.0.0.1:8000/
ProxypassReverse /upload/ http://127.0.0.1:8000/
</VirtualHost>
3.flag放在/var/www/html/upload目录下并设置为只读,/var/www/html/upload具有写权限。
4.只开放80和22端口,其它只允许本地访问。