Docker环境安装
Docker简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中, 然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互 之间不会有任何接口。
Docker环境安装
安装Docker
1.添加Docker PGP key
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg |sudo apt-key add -
笔者在kali中执行,遇到apt-key被移除,无法使用该命令
└─# curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK
所以直接install下载
更新apt包索引:
sudo apt-get update
apt-get install docker.io
检验Docker成功安装
# 启动docker服务
service docker start
#列出docker现有镜像
docker images
#运行hello-world镜像
docker run hello-world
#docker开机自启
systemctl enable docker
安装 docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.0/docker compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
配置docker加速器:
阿里云镜像加速https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
#按照阿里云提供的命令执行即可
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker的简单使用
#拉取镜像
docker image pull 镜像名称
#删除镜像
docker image rm 镜像名或镜像id
Docker容器操作
创建容器
docker run [option] 镜像名 [向启动容器中传入的命令]
常用可选参数说明:
-i 表示以“交互模式”运行容器
-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
--name 为创建的容器命名
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可
以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果
只加-i -t 两个参数,创建后就会自动进去容器)。
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
-e 为容器设置环境变量
--network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同
交互式容器
创建一个交互式容器,并命名为mycentos
docker run -it --name=mycentos centos /bin/bash
在容器中可以随意执行linux命令,就是一个ubuntu的环境,当执行exit命令退出时,该容器也随之停止。
守护式容器
建一个守护式容器,并命名为mycentos2
docker run -dit --name=mycentos2 centos
如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。
进入容器
docker exec -it 容器名或容器id 进入后执行的第一个命令
例如:
docker exec -it mycentos2 /bin/bash
查看容器
列出本机正在运行的容器
docker container ls
列出本机所有容器,包括已经终止运行的
docker container ls --all
停止与启动容器
停止一个已经在运行的容器
docker container stop 容器名或容器id
docker stop 容器名或容器id
启动一个已经停止的容器
docker container start 容器名或容器id
docker start 容器名或容器id
kill掉一个已经在运行的容器
docker container kill 容器名或容器id
docker kill 容器名或容器i
Docker搭建LAMP靶场
搜索lamp靶场
docker search lamp
拉取lamp靶场
docker pull mattrayner/lamp
https://github.com/mattrayner/docker-lamp
Docker启动LAMP容器
参考github指导
docker run -dit -p "80:80" -v ${PWD}/app:/app mattrayner/lamp:latest
进入容器
docker exec -it 容器ID /bin/bash
容器中进入app文件夹
cd /app
拉取DVWA靶场
windows操作系统直接下载phpstudy,然后把靶场下载到www文件夹下面即可。在linux(如kali)中搭建DVWA和LAMP靶场,笔者习惯使用docker去搭建。
下载DVWA到linux当中,将DVWA克隆到app文件夹中
git clone https://github.com/digininja/DVWA.git
修改DVWA配置文件
cd app/DVWA/config
cp config.inc.php.dist config.inc.php
vim config.inc.php
修改内容为:
$_DVWA[ 'db_server'] = '127.0.0.1';
$_DVWA[ 'db_port'] = '3306';
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = '';
$_DVWA[ 'db_database' ] = 'dvwa';
查看DVWA搭建情况:
http://192.168.1.102:8088/DVWA/setup.php
点击create/Reset Database之后,显示正常,登陆账户为默认*admin/password
推荐链接
发表评论