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

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: