记一次Web出题

前情提要:首先学长给我发了去年出题的模版,很多东西都已经预装好了,省了很大的功夫,需要自己研究的点主要就是怎么去拉Docker可以让自己的题目在本地环境上跑起来

前置工具:Docker Desktop

首先我们就是正常的出题(目前只是出一些很简单的题,一些难的题比如涉及到SQL数据库的交互之类的我还不会呢),将自己题目的源码统一的放到src的文件夹下,start.sh学长已经写好了,只需要改一下flag的内容就ok了。

然后执行 docker build –no-cache . 就可以成功将自己的镜像传到Docker上
然后再配置一下端口就可以在本地测试自己的题目环境了

ERROR [web internal] load metadata for docker.io/ctftraining/base_image_nginx_mysql_php_73:latest

ERROR [service internal] load metadata for docker.io/library/php:5.6-apache
如果你遇到了这样的报错,其实是因为你没有拉取相关的镜像文件,你需要先把这个文件pull下来,因为这是你要运行你的Docker环境的必要条件 Tips:一定要善于询问GPT,他真的很擅长处理报错

docker pull php:5.6-apache 比如说这个命令就可以解决第二个报错

另外在附带一些常见的Docker容器操作:

docker image ls 查看当前正在运行的docker镜像

docker pull xxxxx 拉取你需要的镜像文件