docker的使用(使用docker部署ctf题目)

最近实验室要举办一次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端口查看是否部署成功

测试没问题之后打包 以便发布到靶场使用

这个方法是手动配置
问了大佬还有很多方法 我再继续学习 再更新多种方法。

posted @ 2024-11-10 20:14  洋言之  阅读(8)  评论(0编辑  收藏  举报