使用docker搭建upload-labs

su root

切换root用户(docker的使用需要在root下)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

dockder search upload-labs

在docker镜像仓库(公有仓库)搜索upload-labs镜像

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

docker pull c0ny1/upload-labs

从公有仓库拉取下载upload-labs镜像

(拉取哪个都可以)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

docker images

查看本地私有仓库的镜像

如图upload-labs镜像下载成功

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

docker run -d -p 80:80 c0ny1/upload-labs

运行镜像,将镜像内的80端口映射到本地的80端口上面

-p80:80 第一个80为本地80端口,第二个80为镜像内服务端口

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

浏览器访问本地查看

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

这里还没有结束,环境中文件无法上传

(需要创建一个upload文件夹并将此目录下的所有档案与子目录的拥有者皆设为www-data群体的使用者www-data)

docker ps

查看运行镜像的容器进程

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

在这里找到c0ny1/upload-labs的容器ID为ff2cab555aa7

使用时采用前三位ff2就可以

docker exec -it ff2 /bin/bash

进入upload-labs容器,可以理解为进入操作系统进行操作

/var/www/html 是当前容器内网站的根目录;

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

mkdir upload

创建upload文件夹

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

chown www-data:www-data upload

将权限变更为www-data

文件详细信息可通过ls -l查看

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDmmI7ml6XkuI3lho0,size_20,color_FFFFFF,t_70,g_se,x_16 

搭建完成就可以尝试在这个环境上进行文件上传练习了