当前位置:   article > 正文

带你快速上手docker_wannacry docker

wannacry docker

                 带你快速上手Docker

前言:

      接触Docker半年了吧,觉得这技术挺有意思的,也很实用,所以想跟大家分享一下。本文主要目的是以最快的方式带领没接触过Docker的小伙伴迅速掌握几个方便、快捷的Docker命令,然后可以简单的用这些命令进行靶机、实验环境的搭建。重点是快速上手,所以不会讲太多理论。希望大佬们不要笑。

首先需要了解2点:

1.什么是容器技术:

      容器技术是一种类似于传统虚拟机的虚拟化技术,但是更加轻量化。

2.什么是Docker:

Docker是容器技术中的一种,也用的最多,但是容器并不止这一种,比如还有rkt等。

下面以搭建一个简单的wordpress站点为例子,从0开始讲解。

Part 1:最最最基础命令

注:

       docker的安装教程网上很多,这里不再赘述

       docker命令前面往往需要以’docker’开头

       docker命令需要root权限

1.docker search 镜像名

       在docker hub上搜索指定镜像,例如:

 docker search centos7

2.docker pull 镜像名称

  找到需要的镜像后,用该命令进行下载,一般系统镜像也就两三百M。

3.docker images

查看本地当前存在的镜像:

TAG是容器的标签,用来区分不同的容器,如果不填写的话默认是latest,如果本地不存在latest版本则会自行下载。

IMAGE ID是镜像的16位短ID

4.docker run -itd –-name 容器名称 -p 主机端口:容器端口 -p...... 镜像名称:标签 /bin/bash

       这条命令基本能满足环境的搭建了,既然是快速上手所以先不用在意每个参数的含义。

-p是用来映射端口的 ,不需要映射的情况下可以忽略。

例如:

这样就成功创建了一个centos的容器,并将容器的80端口映射到主机的81端口上。

下面这一长串是容器的完整ID.

5.docker ps

       列出当前正在运行的容器

例如:

6.docker stop/start 容器名/ID

       停止或启动容器,若是填写容器名则要全写上去,如果用的是ID,这里的ID并不需要写完整的ID或者16位短ID,只需要能与其他容器区分开即可,就算你只写第一个字符都是可以的,只要能区分开。

7.docker ps -a

       列出所有的容器,包括运行中的和停止的

8.docker attach 容器名/ID

       进入到容器中

进入后可以看到区域名称变成了容器的短ID

9.ctrl+d

退出并停止容器

再次连接会提示容器已经停止。

10.ctrl+p(按完放开)+q

       退出而不停止容器:

11.进入容器后,往往容器中会缺少个别常用命令,例如ifconfig、wget等,只需要正常下载即可。然后就是正常的下载搭建wordpress所需的环境。例如这里为了方便我直接使用现成的集成环境:

wget http://dl.wdlinux.cn/files/lanmp_v3.tar.gz

tar zxvf lanmp_v3.tar.gz

sh lanmp.sh

然后选择1进行下载即可。

完成后httpd和mysqld默认已经启动

然后退出容器。

12.docker cp 主机中的文件目录 容器名:容器中的目录

       将文件从主机拷贝到容器中

13.然后就是在容器中按照搭建环境的步骤去进行就可以了。

       最后用ifconfig查看一下容器的ip即可在主机中直接访问对应的站点了,若是没有安装ifconfig的话,可以在容器外使用命令docker inspect 容器名 | grep IPAddress

查看容器信息,里面有ip:

若是搭建在虚拟机中的直接在物理机上访问虚拟机IP:81端口 即可访问到了(这里忽略防火墙的问题)

Part 2:快速搭建靶机

由于docker技术很受欢迎,所以网上已经有很多现成的环境可供下载使用,例如vulhub、vulstudy等。

下面以vulstudy为例,讲解下如何使用:

注:docker-compose的安装教程网上很多,我就不赘述了。

1.下图是vulstudy目录中的文件,可以看到有一个docker-compose.yml文件,在这里我们只需要运行docker-compose up -d 即可同时创建所有目录中存在的靶机环境,当然,这个过程会有点慢,因为每个靶机环境中并不包含相应镜像文件,下载这些文件的操作被写到了每个环境对应的Dockerfile(用来描述如何创建镜像的过程的文件)中。会先去执行这些Dockerfile创建镜像,然后才运行它们。

2.下图是每个环境单独的目录内容,以DVWA为例:

docker-compose.yml中记录了容器启动时所要进行的一些配置:

例如端口那里,设置的就是端口映射,可以在使用之前自己根据需要进行修改。

要单独创建靶机的话,对于存在Dockerfile文件的,需要先到目录下执行如下命令先创建镜像:

docker build -t 要命名的镜像名称 .  (注意这里有一个’点’,并且前面有空格)

然后:

docker-compose up -d

按.yml文件创建容器。

最后根据映射的端口或者IP进行访问就可以了。

总结

暂时就这么多,现在应该能够简单搭建自己想要的环境了。有问题希望大家指正。如果效果还可以的话,后面有需要可以再写点深一点的内容。毕竟很多东西我也还在学习中,先为大家多试试水,后面将经验分享给大家,哈哈。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/714484
推荐阅读
相关标签
  

闽ICP备14008679号