Docker入门以及漏洞环境搭建(10.23 第二十五天)
Docker:开源的应用程序容器引擎,使用Go语言。借助于docker打包的应用程序,将这些应用程序 包含在容器里面,在容器中实现虚拟化,容器使用的是沙箱机制,相互独立,占用资源非常少。
Docker三个概念:
镜像:image,docker镜像是一个只读的模板,比如我们在镜像中包含完整的操作系统,在操作系统中可以安装LAMP环境,镜像可以创建容器。
容器:container,docker利用容器运行程序,容器是镜像中创建运行的实例,容器可以运行、关闭、删除的。
仓库:repository,集中放镜像的地方,每个仓库中包含了多个镜像,可以私有可以公开,最大的仓库是dockerhub
docker的安装:
(1)更新源安装docker
curl -s https://get.docker.com
sh apt install docker.io
apt-get install docker
添加加速器:
编辑配置文件:vim /etc/docker/daemon.json 替换成网上可用的加速器
https://yeasy.gitbooks.io/docker_practice/content/install/mirror.html
docker info 查看有没有加速器的网址

镜像:
docker search mysql 搜索mysql镜像
docker pull 镜像名称 下载镜像
docker images 查看本地已经下载好的镜像
docker rmi 镜像的ID 删除镜像
docker save 镜像ID>test.tar 导出镜像
docker load<test.tar 导入镜像
容器:
docker run -d -p 8080:80 --rm --name 容器名 镜像ID/镜像名称
-d 表示后台运行
-p 后跟端口1:2 将容器内部服务端口2映射到本地端口1(如果-p后什么都不写,随机分配端口)
--rm 容器停止之后,会自动删除
--name 容器运行起来之后赋予的名称
docker ps 查看运行的docker
docker ps -a 查看所有容器的状态
docker stop 容器名/容器ID 关闭容器
docker start 容器名/容器ID 打开容器
docker rm 容器名/容器ID 删除容器
进入容器内部:
docker exec -it 容器ID /bin/bash
-it 表示交互模式
使用VULHUB搭建环境
https://vulhub.org/#/environments/
https://github.com/vulhub/vulhub
1、需要安装pip,他是python用来管理工具包的工具
接着安装docker-compose
pip install docker-compose
docker compose -v 查看compose版本
2、下载vulhub资源
git clone https://github.com/vulhub/vulhub.git
3、进入到vulhub下某个目录中(漏洞名或者服务名称)
4、启动环境:docker-compose up -d 然后docker去pull镜像然后去运行。
移除环境:docker-compose down(注意:在哪个目录开启的就需要在哪个目录关闭)
运行起来的环境,需要查看其运行的端口,docker ps ,8080
http://127.0.0.1:8080 接下来去测试漏洞环境
Docker入门以及漏洞环境搭建(10.23 第二十五天)的更多相关文章
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- Mule 入门之:环境搭建
Mule 入门之:环境搭建 JDK1.5或以上版本Eclipse3.3以上 下载与安装:目前最新版本为2.2.1 下载,下载后得到一名为mule-standalone-2.2.1.zip的压缩文件,解 ...
- Cesium入门2 - Cesium环境搭建及第一个示例程序
Cesium入门2 - Cesium环境搭建及第一个示例程序 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 验 ...
- centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课
centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数 ...
- ElementUI入门和NodeJS环境搭建
1. ElementUI简介 我们学习VUE,知道它的核心思想式组件和数据驱动,但是每一个组件都需要自己编写模板,样式,添加事件,数据等是非常麻烦的, 所以饿了吗推出了基于VUE2.0的组件库,它 ...
- Docker Swarm 集群环境搭建及弹性服务部署
上一篇文章<Docker Swarm 集群管理利器核心概念扫盲>中我们把 Swarm 重要的概念性知识给大家讲解了一波,理论完事就该实战了,这篇文章带大家从零开始,搭建 Docker Sw ...
- F5 BIG-IP 远程代码执行漏洞环境搭建
最近F5设备里的远程代码执行漏洞可谓是火爆,漏洞评分10分,所以,我也想搭建下环境复现一下该漏洞 漏洞详情 F5 BIG-IP 是美国F5公司一款集成流量管理.DNS.出入站规则.web应用防火墙.w ...
- 01-SV入门及仿真环境搭建
1.SV入门 参考书籍<SystemVerilog验证 测试平台编写指南> [美]克里斯·斯皮尔 著 2.仿真环境搭建 仿真工具:modelsim se 2019.2,它不仅支持Veril ...
- PHP入门教程-开发环境搭建
1.PHP简介: PHP是能让你生成动态网页的工具之一.PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP. 2.学习需要基础: a.HTML b.Ja ...
随机推荐
- 使用 CocoaPods 遇到的问题记录
1. 在 Terminal 输入 Cocoapods 命令时,有时会一直等待,出现“Performing a deep fetch of the `master` specs repo to impr ...
- 计划任务之一次性计划任务(at)和周期性计划任务(crontab)(重点)
一:知识要点 ----计划任务的意义----计划任务分类----用户计划任务crontab----系统计划任务----计划任务使用注意事项----anacron服务介绍 二:计划任务的意义计划任务 - ...
- Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。
Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离.
- CS231n -Assignments 1 Q1 and Q2
前言 最近在youtube 上学习CS231n的课程,并尝试完成Assgnments,收获很多,这里记录下过程和结果以及过程中遇到的问题,我并不是只是完成需要补充的代码段,对于自己不熟悉的没用过的库函 ...
- 「luogu4135」作诗
「luogu4135」作诗 传送门 分块好题. 预处理出 \(f[i][j]\) 表示 \(i\) 号块到 \(j\) 号块的答案,\(num[i][k]\) 表示 \(k\) 在前 \(i\) 块的 ...
- 操作Easy_UI案例以及模板
操作easy_ui案例以及模板 https://pan.baidu.com/s/1dHfclwP 密码:jygk
- python用户界面编程和文件转换为exe文件
python用户界面编程学习代码如下所示: #python用户图形界面编程实现import sys #简单用户图形界面实现from PyQt5.QtWidgets import QApplicatio ...
- JavaScript内置对象Array、String 的方法
Array push() //将一个或多个数据加入到数组的末端,并返回新的数组长度. pop() //取出数组中的最后一项,修改length属性,并返回被删除的数据 shift() //取出数组中的第 ...
- 【剑指Offer面试编程题】题目1517:链表中倒数第k个结点--九度OJ
题目描述: 输入一个链表,输出该链表中倒数第k个结点. (hint: 请务必使用链表.) 输入: 输入可能包含多个测试样例,输入以EOF结束. 对于每个测试案例,输入的第一行为两个整数n和k(0< ...
- MariaDB——SQL语句分类汇总
常用SQL语句汇总 SQL语句在所有的关系型数据库中都是通用的,算起来sql语句也是一门语言,只不过这门语言的主要操作对象是关系型的数据库,其中最常用的还是查询相关的语句. sql语句主要分为: DQ ...