当前位置: 首页 > news >正文

实用指南:CentOS 7 Docker 部署 DVWA 教程

CentOS 7 Docker 部署 DVWA 教程(精准适配环境)

环境: CentOS 7 Docker 环境,直接按以下步骤操作即可,全程贴合 CentOS 7 的权限和端口特性,避免踩坑:

一、前置检查(确保 Docker 正常可用)

先确认 Docker 服务已启动,避免后续部署失败:

# 1. 查看 Docker 状态
systemctl status docker
# 2. 若未启动,执行启动命令(并设置开机自启,可选)
sudo systemctl start docker
sudo systemctl enable docker  # 开机自启,下次无需手动启动
# 3. 验证 Docker 权限(CentOS 7 需确保当前用户在 docker 组,避免每次输 sudo)
# 若执行 docker 命令提示权限不足,执行以下命令(执行后退出终端重新登录)
sudo usermod -aG docker $USER

二、部署 DVWA 步骤(CentOS 7 专属命令)

1. 拉取官方 DVWA 镜像(稳定无兼容问题)

docker pull vulnerables/web-dvwa
  • 等待拉取完成(镜像约 1GB,CentOS 7 建议用国内镜像源加速,若拉取慢可看下方“加速技巧”);
  • 拉取成功后,用 docker images 验证,能看到 vulnerables/web-dvwa 即正常。

2. 启动 DVWA 容器(CentOS 7 必加权限参数)

CentOS 7 下必须带 --privileged--cap-add=SYS_ADMIN 参数,否则数据库会启动失败:

# 映射本地 8080 端口(避免 80 端口被系统服务占用)
docker run -d \
-p 8080:80 \
--name dvwa-container \
--privileged \
--cap-add=SYS_ADMIN \
vulnerables/web-dvwa
  • 参数说明:
    • -p 8080:80:用 8080 端口(CentOS 7 的 80 端口可能被 httpd 占用,8080 更安全);
    • --privileged + --cap-add=SYS_ADMIN:解决 CentOS 7 容器权限不足,确保 MySQL 正常启动;
    • --name dvwa-container:自定义容器名,方便后续管理。

3. 验证容器启动状态

# 查看运行中的容器
docker ps
# 若没看到 dvwa-container,查看报错日志(排查问题)
docker logs dvwa-container
  • 正常状态:STATUS 列显示 Up(如 Up 3 minutes),说明启动成功。

三、访问与初始化 DVWA(CentOS 7 特有注意事项)

1. 开放 8080 端口(CentOS 7 防火墙默认拦截)

CentOS 7 自带 firewalld 防火墙,必须开放 8080 端口才能外部访问:

# 1. 开放 8080 端口(永久生效)
sudo firewall-cmd --permanent --add-port=8080/tcp
# 2. 重新加载防火墙规则(让配置生效)
sudo firewall-cmd --reload
# 3. 验证端口是否开放成功
sudo firewall-cmd --query-port=8080/tcp
# 输出 yes 即成功

2. 访问 DVWA 页面

  • 本地访问(CentOS 7 服务器本身):打开浏览器输入 http://localhost:8080
  • 远程访问(其他电脑/手机):输入 http://你的CentOS7服务器IP:8080(如 http://192.168.1.100:8080)。

3. 初始化数据库(首次访问必须做)

  1. 进入登录页后,点击底部的 Create / Reset Database 按钮;
  2. 等待 1-2 秒,页面提示 Database setup complete! 即初始化成功。

4. 登录 DVWA

  • 用户名:admin
  • 密码:password
  • 登录后,点击左侧 DVWA Security,选择 Low 安全级别(新手入门),点击 Submit 保存。

四、CentOS 7 专属问题排查

1. 容器启动失败(日志显示 MySQL 启动报错)

  • 原因:权限不足或 SELinux 限制;
  • 解决:
    # 先停止并删除旧容器
    docker stop dvwa-container && docker rm dvwa-container
    # 带 SELinux 禁用参数重新启动
    docker run -d \
    -p 8080:80 \
    --name dvwa-container \
    --privileged \
    --cap-add=SYS_ADMIN \
    --security-opt seccomp=unconfined \
    vulnerables/web-dvwa

2. 远程访问不了(浏览器提示无法连接)

  • 排查步骤:
    1. 确认容器在运行:docker ps 看 dvwa-container 状态;
    2. 确认端口已开放:firewall-cmd --query-port=8080/tcp(必须输出 yes);
    3. 确认服务器 IP 正确:ip addr 查看 CentOS 7 的网卡 IP(如 eth0 的 inet 地址);
    4. 关闭 SELinux(若仍无法访问):
      sudo setenforce 0  # 临时关闭(重启失效)
      # 永久关闭:编辑 /etc/selinux/config,将 SELINUX=enforcing 改为 SELINUX=disabled,重启服务器

3. 拉取镜像太慢(CentOS 7 网络问题)

  • 配置 Docker 国内镜像加速(阿里云):
    # 1. 创建 Docker 配置目录
    sudo mkdir -p /etc/docker
    # 2. 写入加速配置
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
    }
    EOF
    # 3. 重启 Docker 服务
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    重新执行 docker pull vulnerables/web-dvwa,拉取速度会显著提升。

五、CentOS 7 常用容器管理命令

操作命令
停止 DVWA 容器docker stop dvwa-container
启动已停止的容器docker start dvwa-container
重启容器docker restart dvwa-container
查看容器日志docker logs dvwa-container
删除容器(无需时)docker stop dvwa-container && docker rm dvwa-container
查看镜像docker images
删除镜像docker rmi vulnerables/web-dvwa

总结

CentOS 7 部署 DVWA 的核心是:加足容器权限(–privileged + --cap-add=SYS_ADMIN)+ 开放防火墙端口(8080),按上面步骤操作,5 分钟就能正常使用。登录后先把安全级别调到 Low,开始练习 XSS 基础注入(如 <script>alert(1)</script>),后续再逐步提升难度~

http://www.jsqmd.com/news/130700/

相关文章:

  • day46_Grad-CAM@浙大疏锦行
  • 2026仍考RHCE?别被“全能”标签带偏,这篇给你真实答案
  • 告别无脑 <div>:HTML 语义化标签入门
  • 学校要求知网AIGC查重报告?比话能降知网AI率吗
  • 多软件协同调度规则设计:避免依赖冲突的黄金法则
  • Plotly/Dash高级可视化实战教程:从高维图表到企业级仪表盘
  • 【分布鲁棒】基于Wasserstein距离的两阶段分布鲁棒简易模型附Matlab代码
  • 翻过入门的第一座小山
  • 收藏必备!六个高含金量编程竞赛助你进大厂+网络安全学习资源大放送
  • 基于知识图谱的RAG
  • 8 个降AI率工具推荐,专科生必看!
  • AsyncContext
  • 协议解析引擎横评:NLP技术哪家强?
  • YOLOv11 改进 - 注意力机制 | IIA信息整合注意力(Information Integration Attention ):精准保留空间位置信息,平衡精度与计算成本 | TGRS2025
  • 盐酸-N-取代苯胺类泄漏后应急处置,关键步骤要记牢!
  • 12月23日记
  • Yandex竞价实战指南:5个让ROI翻倍的深度优化技巧
  • 基于Vue的新生入学报道管理系统(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
  • 使用 Spring Boot WebClient 调用大模型 API(OpenAI、文心一言、通义千问)
  • 02. 色彩空间类型
  • 东欧电商突围:3个Yandex精准获客策略让跨境订单暴涨
  • 低代码平台怎么选?这5款免费方案很友好
  • 关于单片机ADC数据采集方面的心得。
  • 电商
  • 【回声抵消】基于matlab NLMS回声抵消和双端监测仿真【含Matlab源码 14758期】
  • Lua 字符串处理指南
  • zsj_蓝桥python系列_列表补充
  • AI元人文构想:摘要(最终定稿版)
  • 【回声抵消】基于matlab kalman回声抵消和双端监测仿真【含Matlab源码 14759期】
  • 专家的进阶之路:技术深耕、跨界融合与个人品牌打造 - AK