⽤Docker搭建环境部署Ctf题⽬(过程及问题解决)
⽤Docker部署Ctf题⽬(过程及问题解决)
1.Docker基础
什么是Docker
Docker 是⼀个开源的应⽤容器引擎,基于并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应⽤以及依赖包到⼀个轻量级、可移植的容器中,然后发布到任何流⾏的 Linux 机器上,也可以实现虚拟化。
容器是完全使⽤沙箱机制,相互之间不会有任何接⼝(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们⽤社区版就可以了。
因为docker微环境的特性,使CTF题⽬的部署变得简单很多
⼀个完整的Docker有以下⼏个部分组成:
1. DockerClient客户端
2. Docker Daemon守护进程
3. Docker Image镜像
4. DockerContainer容器
Docker的安装
安装失败,请⾸先检查⽹络链接,排除⽹络原因,速度慢可以设置Docker镜像加速。
Docker的使⽤
使⽤之前请先启动docker服务
如centos使⽤命令:
systemctl start docker
Docker客户端
docker 客户端⾮常简单 ,我们可以直接输⼊ docker 命令来查看到 Docker 客户端的所有命令选项。
[root@localhost docker]# docker
可以通过命令 docker command --help 更深⼊的了解指定的 Docker 命令使⽤⽅法。Docker镜像
如果本地没有镜像,可以使⽤docker search[OPTIONS] (免费注册使⽤)查镜像docker search lamp
参数说明:
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官⽅发布
stars: 类似 Github ⾥⾯的 star,表⽰点赞、喜欢的意思。
AUTOMATED: ⾃动构建。
以使⽤ docker pull 命令来载⼊镜像:
docker pull tutum/lamp #随便pull了⼀个镜像
随即进⼊下载流程
下载完成后可以使⽤docker images查看所有镜像
Docker容器
有了镜像就可以创建⼀个容器,可以理解成docker就是⼀个微型虚拟机,容器就是我们跑起来的虚拟机,镜像就像虚拟机版的系统,开机就能⽤。
启动容器
docker run -it ubuntu /bin/bash
**
启动已停⽌运⾏的容器
在停⽌的正在运⾏的容器前,先考虑下如何选择要停⽌的容器,⾸先查看所有的容器命令
docker ps -a
可以看到所有容器,及他们的状态信息(STATUS)
前边container ID,这是容器的短id,短id就是docker真实id的前半部分,因为真实id太长,不⽅便输⼊,所以⽇常可以使⽤短id,也就是通过短id来指向容器
**
使⽤ docker start 启动⼀个已停⽌的容器:
docker start b750bbbcfd88
新建⼀个docker容器,并映射端⼝号docker run -d -p [host port]:[docker port][image] #-d //容器后台运⾏。
#-p //指定映射端⼝。
docker ps中可以看到映射关系
在主机与容器之间数据拷贝
docker cp[本地路径][container id]:[container 路径]删除容器
docker rm[container id]
#需要先把容器停掉
删除docker镜像
docker rmi [image id]
#需要先删除容器
2.部署步骤
1.⾸先⼀个有lamp环境的docker镜像docker search lamp
2.拉取镜像
docker pull tutum/lamp
出现报错,检查⽹络,若是虚拟机可以尝试更换⽹络适配器模式为NAT
3.下载完毕后查看本地镜像
4.新建docker容器
docker run -d -p 10000:80 -p 13307:3306 tutum/lamp
#映射端⼝前⾸先确定端⼝没有被占⽤
#-d //容器后台运⾏。
docker打包镜像#-p //指定映射端⼝。
#-P //随机映射⾼端⼝
如果在启动过程中出现报错,先尝试重启服务,如果⽆法解决,参考解决⽅法
解决⽅式:
第⼀步:在宿主机上执⾏echo “net.ipv4.ip_forward=1” >>/usr/lib/sysctl.f
第⼆步:重启network和docker服务

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。