Ubunut18 安装docker环境&&AWD攻防平台部署
docker:有两个版本:docker-ce(社区版)和docker-ee(企业版)。
参考官网地址:https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#os-requirements
docker-compse:可运行和管理多个docker容器。
docker-machine:docker官方提供的docker管理工具。可管理多个docker主机,可搭建swarm集群。
0x01 docker安装
我们可以从ubuntu仓库安装docker 也可以从docker仓库安装 ,这里以docker官网安装为例
1,卸载旧版本docker
全新安装时,无需执行该步骤
$ sudo apt-get remove docker docker-engine docker.io
2,更新系统软件
$ sudo apt-get update
3,安装依赖包
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
4,添加官方密钥
执行该命令时,如遇到长时间没有响应说明网络连接不到docker网站,需要使用代-理进行。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
显示OK,表示添加成功.
5,添加仓库
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
6,再次更新软件
经实践,这一步不能够省略,我们需要再次把软件更新到最新,否则下一步有可能会报错。
$ sudo apt-get update
7,安装docker
如果想指定安装某一版本,可使用 sudo apt-get install docker-ce=<VERSION> 命令,把<VERSION>替换为具体版本即可。
以下命令没有指定版本,默认就会安装最新版
$ sudo apt-get install docker-ce
8,查看docker版本
$ docker -v
到这里 表示docker安装成功。
0x02 docker-compose安装
两种最新的docker安装方式
1.从github上下载docker-compose二进制文件安装
- 下载最新版的docker-compose文件
$ sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- 添加可执行权限
$ sudo chmod +x /usr/local/bin/docker-compose
- 测试安装结果
$ docker-compose --version
2.pip安装
$ sudo pip install docker-compose
0x03 docker-machine安装
说明:docker-machine的使用是要基于virtualBox的。如果没有安装安装过,请先安装virtualBox。
1,安装virtualBox
登录virtualBox官网:https://www.virtualbox.org/wiki/Linux_Downloads
找到"Ubuntu 16.04 ("Xenial") i386 | AMD64"字样,点击“AMD64”进行下载。
下载后,执行以下命令进行安装:
$ sudo dpkg -i virtualbox-5.2_5.2.0-118431_Ubuntu_xenial_amd64.deb
2,下载并安装docker-machine
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
3,查看版本信息
$ docker-machine version
显示出版本信息,即安装成功。
0x04 AWD攻防平台部署
用到的平台是Hence Zhang @Lancet师傅分享的
比赛平台拓扑:
服务器全部以docker形式部署在同一台虚拟机上。
Check_server:
服务检查服务器,用于判定选手维护的服务是否可用,如果不可用,则会扣除相应的分数。不开启任何端口。需要与flag服务器通信。
Flag_server:
选手提交flag的服务器,并存储选手的分数。开启80端口。
Web_server:
选手连接的服务器,选手需要对其进行维护,并尝试攻击其他队伍的机器。通常开启80端口,22端口,并将端口映射到主机。
在复制文件的时候出现了无法复制的问题
解决;
sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop
比赛启动
首先需要docker加载镜像
docker pull zhl2008/web_14.
很可能是报错
解决:
第一步:通过
dig @114.114.114.114 registry-.docker.io
找到可用IP
第二步:尝试修改/etc/hosts
强制docker.io
相关的域名解析到其它可用IP
ok
再次加载镜像
1.根据当前队伍数量copy所有的队伍的比赛文件夹: python batch.py web_dir team_number
for example:
python batch.py web_server
然后改下名字
docker tag zhl2008/web_14.04 web_14.04
2.启动比赛:python start.py ./ team_number
for example:
python start.py ./ 1
3.启动check脚本:
docker attach check_server python check.py
启动的时候发现docker没起起来 爆如下错误:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create?name=team1: dial unix /var/run/docker.sock: connect: permission denied.
解决:
sudo运行
启动起来了就访问吧
因为是在一个服务器上运行了多个docker,靶机的映射端口规则是:
team1 ---- 8801
team3 ---- 8802
team3 ---- 8803
....以此类推
各个靶机的ssh密码可以在项目的文件夹下的pass.txt文件中
ssh的端口规则是:
team1 ---- 2201
team2 ---- 2202
team3 ---- 2203
....以此类推 在项目的根目录的flag_server/中,我们 要赋予score.txt 和result.txt 777权限,否则分数变动无法进行同步
ok这里就搭建完成了 enjoy it~
Ubunut18 安装docker环境&&AWD攻防平台部署的更多相关文章
- JBOSS EAP6.2.0的下载安装、环境变量配置以及部署
JBOSS EAP6.2.0的下载安装.环境变量配置以及部署 JBoss是纯Java的EJB(企业JavaBean)server. 第一步:下载安装 1.进入官网http://www.jboss.or ...
- docker(2)CentOS 7安装docker环境
前言 前面一篇学了mac安装docker,这篇来学习在linux上安装docker 环境准备 Docker支持以下的CentOS版本,目前,CentOS 仅发行版本中的内核支持 Docker. Doc ...
- 【转载】CentOS-yum安装Docker环境
安装Docker环境 $ yum install docker -y 启动Docker $ systemctl start docker 设置自启动 $ systemctl enable docker ...
- CentOS-yum安装Docker环境(含:常用命令)
安装Docker环境 $ yum install docker -y 启动Docker $ systemctl start docker 设置自启动 $ systemctl enable docker ...
- Nginx系列(8)- Nginx安装 | Docker环境下部署
Docker环境下部署Nginx https://www.cnblogs.com/gltou/p/15186971.html
- 手动编译安装docker环境,以及偶尔出现的bug
总结安装过程如下: 前提:安装git,go,make, docker(docker中编译docker) git clone https://git@github.com/docker/docker c ...
- 在CentOS 7上安装Docker环境
官网文档:https://docs.docker.com/engine/installation/linux/centos/ ,本文大部分是照搬官方文档写的,如果你英文还不错,那么就直接移步官方文档吧 ...
- centos7下通过yum方式安装docker环境
1.移除旧版本: yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ ...
- docker学习1-CentOS 7安装docker环境
前言 Docker 提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D ...
随机推荐
- 记一次oracle新建用户及分配指定表权限的操作记录
1.登录 2.创建用户create user new用户名 identified by new用户名创建new用户名用户,密码设置为new用户名. 3.授权new用户名用户的连接.资源权限.grant ...
- vim编辑器的使用详解
在Linux江湖,最常用到的编辑器非vim莫属,vim的功能很强大. 1. vim简介 在Linux世界中,最长用到的而且功能比较强大的是Vim编辑器.Vim编辑器是在内存缓冲区中处理数据. vi ...
- HDFS之Qurom Journal Manager(QJM)实现机制分析
前言 1.1背景 自从hadoop2版本开始,社区引入了NameNode高可用方案.NameNode主从节点间需要同步操作日志来达到主从节点元数据一致.最初业界均通过NFS来实现日志同步,大家之所以选 ...
- Android系统修改之Email自动回复功能分析
1. Email添加自动回复功能需要注意事项 Email可能存在多个账户, 因此自动回复功能应该添加在账户设置里面, 自动回复针对一个账户单独处理 在Email账户设置里面, 开启自动回复功能的时, ...
- 磁盘告警之---神奇的魔法(Sparse file)
一.问题来源 半夜钉钉接到告警,某台机器的磁盘使用率少于20%,于是迷糊中爬起来,咔咔咔 find / -size +1G,咔咔咔,把几个只有4-5G的日志文件echo空值了一下,然后吓蒙了,刚刚 ...
- 一次容器化springboot程序OOM问题探险
背景 运维人员反馈一个容器化的java程序每跑一段时间就会出现OOM问题,重启后,间隔大概两天后复现. 问题调查 一查日志 由于是容器化部署的程序,登上主机后使用docker logs Contain ...
- windows下安装vue教程
前言:前段时间学习了下vue,也算是能简单开发了,今天就记录下怎么通过vue-cli来安装vue. 因vue是基于node环境的,如果你还不会安装的话,可以看下我的这个教程:安装node.js和npm ...
- node学习之路
现阶段开始学习使用node开发一个个人博客系统,nodejs 基于V8引擎,是一个让 JavaScript 运行在服务端的开发平台,功能强大 ,Node.js 可以作为服务器向用户提供服务,它跳过了 ...
- 修改tomcat 使用的JVM的内存
一,前言 在文章让tomcat使用指定JDK中,我让tomcat成功使用了我指定的JDK1.8,而不是环境变量中配置的JDK10.本篇文章我们就来探讨一下怎么设置tomcat使用的JVM的内存. 为什 ...
- 【iOS】得到当前年、月、周的第一天和最后一天
在写一个记账软件,其中有个统计功能.比如,统计某月的支出,需要知道某天所在的月的第一天和最后一天,以便从数据库中根据时间取数据. 话不多说,上代码: // // EBDate.h // ChargeM ...