最近实验室要举办一次ctf竞赛,本人web手兼杂项手,杂项的题在服务器上传附件就行,比较好弄,然后web的题目需要docker部署,就学了一下docker,前前后后忙了一天多,做了很多无用功。我太菜鸡了。记录一下配置过程还有docker的一些知识点。(学习尚浅,希望路过的大佬多多指导)
0X01 什么是Docker
Docker 是一个开源的应用容器引擎,基于Go 语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
0X02 docker常用命令
开启docker:service docker start
查看docker镜像:docker images
删除docker镜像:docker rmi 镜像id
打包容器:docker export id号 > Find.tar
停止容器:docker stop id号
删除容器 :docker rm 容器号
查看容器:docker ps -a
退出容器 :exit
使用 docker start 启动一个已停止的容器:docker start id
复制文件到容器中:docker cp ./ id:/var/www
进入容器:docker exec -it id bash
0X03 docker的安装使用
1.安装docker
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
这里很多种方法 只列举两种 也可以参考别的安装方法
2.docker换源 (用来拉取镜像加速)
docker换源的配置文件默认在/etc/docker/daemon.json,若无 daemon.json,直接创建即可
cd /etc/docker
sudo touch daemon.json
sudo vim daemon.json
将这些内容写入到daemon.json
{
"registry-mirrors" : [
"http://ovfftd6p.mirror.aliyuncs.com",
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
],
"insecure-registries" : [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug" : true,
"experimental" : true
}
3.保存并重启 docker 服务
确定是否换源成功,如果如下命令能看到 daemon.json 里的网址表示换源成功
systemctl daemon-reload
systemctl restart docker
sudo docker info
4.查看 docker 镜像:sudo docker images
5.重启 docker 服务:
systemctl daemon-reload
systemctl restart docker
0X04 docker部署ctf web题目
部署web题,本人选择了一个apache-php5:docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
运行镜像,并绑定一下端口。
docker run -d -p 8085:80 registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
查看容器 将需要的文件导入到容器中
docker cp ./ id:/var/www/
ipconfig查看虚拟机的ip号
登录ip端口查看是否部署成功
测试没问题之后打包 以便发布到靶场使用
这个方法是手动配置
问了大佬还有很多方法 我再继续学习 再更新多种方法。