Docker部署练习

本文详细介绍如何在CentOS上安装及配置Docker,并通过实例演示如何使用Docker部署MySQL、MongoDB及fastDFS,包括镜像拉取、容器运行、网络配置及加速策略。

Docker部署练习

一、Docker安装

yum安装gcc相关
yum -y install gcc
yum -y install gcc-c++
确定centos7
卸载旧版本
$sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
安装方法
yum install docker
启动Docker
systemctl start docker
查看版本
docker version
卸载Docker
systemctl stop docker
yum -y remover docker
rm -rf /var/lib/docker
加速配置

下载镜像:

docker pull ubuntu:18.04

或者:(国内镜像更快)

sudo docker pull registry.docker-cn.com/library/ubuntu:18.04

配置加速:

vi /etc/docker/daemon.json

拷贝下面的内容/etc/docker/daemon.json中

{ “registry-mirrors”: [“https://7vcsrq3h.mirror.aliyuncs.com”] }

最后执行:

systemctl daemon-reload 
sudo systemctl restart docker

二、Docker的使用

Docker部署mysql

1.拉取镜像

docker pull mysql 

2.查看镜像

docker images

3.运行容器

docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=*** mysql

4.运行mysql

  • 命令行运行

    docker exec -it docker-mysql bash
    mysql -u root -p
    
  • 或者Navicat等可视化工具连接

Dockers安装MongoDB
docker run -di --name=mongo -p 27017:27017 mongo
Docker部署fastDFS

1.搭建

docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=xx.xx.xx.xx -e WEB_PORT=80 -v /usr/local/fastdfs:/var/local/fdfs registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs

2.测试上传

  • 进入容器
docker exec -it fastdfs /bin/bash
  • 创建文件
echo "Hello FastDFS!">index.html
  • 测试文件上传
fdfs_test /etc/fdfs/client.conf upload index.html
<think>好的,我需要帮助用户了解如何使用Docker部署网络安全靶场或测试环境。首先,我得回顾一下用户提供的引用内容,里面提到了几个具体的例子,比如DVWA、pikachu和sqli-labs。用户可能希望一步步的指导,所以应该分步骤说明。 第一步,安装Docker。根据引用3,用户需要先安装docker.io,可能是在KALI系统上使用apt命令。我需要确认安装步骤的正确性,比如是否需要先更新源,安装完成后启动服务。 第二步,拉取靶场镜像。用户提到的DVWA、pikachu和sqli-labs都有对应的Docker镜像,比如vulnerables/web-dvwa和acgpiano/sqli-labs。需要列出这些镜像的拉取命令,确保用户知道如何获取。 第三步,运行容器。不同的靶场可能需要不同的运行参数,比如端口映射。例如,DVWA使用-p 80:80或者8081:80,而pikachu可能需要进入容器内部配置。这里要注意容器ID的处理,可能需要用户使用docker ps查看。 第四步,访问靶场。用户需要知道如何通过浏览器访问部署好的环境,比如localhost:8081或者对应的IP地址。 还需要考虑常见问题,比如容器无法启动怎么办,端口冲突如何处理。此外,优化部分可以提到使用docker-compose来管理多个容器,或者持久化存储数据。 现在要确保步骤清晰,命令准确,同时引用正确的来源。比如引用3提到DVWA的部署命令,引用4提到sqli-labs和pikachu的拉取。需要注意用户可能是在KALI或其他Linux系统上操作,但基本步骤应该通用。 可能的问题会有:如何查看容器是否运行?如何处理权限问题?如何配置靶场环境?这些可以作为相关问题放在最后。同时,要确保所有命令正确,比如docker run的参数是否正确,是否需要使用-d后台运行。 总结下来,回答应该分步骤,每个步骤给出具体命令和说明,并引用对应的引用来源。最后列出相关问题帮助用户深入理解。</think>### 如何用 Docker 部署网络安全靶场或测试环境 #### **步骤 1:安装 Docker 环境** - **Linux/Kali 系统**: 1. 更新软件源并安装 Docker: ```bash sudo apt update && sudo apt upgrade -y sudo apt install docker.io -y ``` 2. 启动 Docker 服务并设置开机自启: ```bash sudo systemctl start docker sudo systemctl enable docker ``` #### **步骤 2:拉取靶场镜像** 常用靶场镜像及命令: - **DVWA**(渗透测试基础靶场): ```bash docker pull vulnerables/web-dvwa # 拉取镜像[^3] ``` - **pikachu**(综合漏洞练习): ```bash docker pull pikachu # 拉取镜像[^4] ``` - **sqli-labs**(SQL 注入专项靶场): ```bash docker pull acgpiano/sqli-labs # 拉取镜像[^4] ``` #### **步骤 3:运行靶场容器** - **DVWA 部署**: ```bash docker run -d --name dvwa -p 8080:80 vulnerables/web-dvwa # 后台运行并映射端口 ``` 访问 `http://localhost:8080` 即可进入 DVWA。 - **pikachu 部署**: ```bash docker run -d --name pikachu -p 8000:80 pikachu # 运行容器 ``` 进入容器配置环境(如需要): ```bash docker exec -it 容器ID /bin/bash # 进入容器内部[^2] ``` - **sqli-labs 部署**: ```bash docker run -d --name sqli-labs -p 8081:80 acgpiano/sqli-labs ``` 访问 `http://localhost:8081` 完成初始化。 #### **步骤 4:验证与访问** - 查看运行中的容器: ```bash docker ps ``` - 通过浏览器访问对应端口(如 `localhost:8080`)即可使用靶场。 --- #### **常见问题处理** 1. **端口冲突**:修改 `-p` 参数,例如 `-p 8082:80`。 2. **容器启动失败**:查看日志 `docker logs 容器ID`。 3. **数据持久化**:添加 `-v` 参数挂载卷,例如 `-v /path/on/host:/var/www/html`。 #### **优化建议** - 使用 `docker-compose` 管理多容器环境。 - 配置自定义网络隔离靶场环境: ```bash docker network create test_network docker run -d --network test_network ... ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值