多次搭建ctfd了,国外的docker加载速度实在让人诟病,之前都是一晚上一晚上的跑环境,忍不了了,直接解决了。
以ctfd官方为例
首先找github上的ctfd
GitHub - CTFd/CTFd: CTFs as you need them
git clone https://github.com/CTFd/CTFd.git
cd CTFd
现在首先改docker的镜像源
Docker 镜像加速 | 菜鸟教程这篇文章介绍的不能再详细了,膜拜大佬,不赘述了。
然后就是修改dockerfile里的东西,因为其实大多数的下载缓慢,并不是由于docker镜像的问题,而是docker镜像内部构建ctfd的环境出现的下载缓慢,这里可以简单理解成安装kali或者ubuntu后第一件事是换源,这里缓慢的原因就是因为没有换源。
如果是在这个GET的时候卡住,基本就是我说的这个原因,当然,这个也不难解决,其实现存很多解决dockerfile换源的问题,但是和ctfd版本都是不一样的,所以可能很多人简单试了一下不好用就放弃了。
我这里选择用记事本打开了,毕竟vi大量编辑不是很舒适(带宽卡的,有延迟....)
vi Dockerfile
docker-compose up -d
可以从这里看到,Dockerfile里描述的是直接进行apt-update的,输出看看sources.list
可以确定是用的官方源了,咱们直接在Dockerfile换源
更换后
然后直接神速下载...半小时之内妥妥结束战斗
贴一下这部分的源码
#apt-get源 使用163的源
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
echo "deb http://mirrors.163.com/debian/ buster main non-free contrib" >/etc/apt/sources.list && \
echo "deb http://mirrors.163.com/debian/ buster-backports main non-free contrib" >>/etc/apt/sources.list && \
echo "deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib" >>/etc/apt/sources.list
RUN cat /etc/apt/sources.list
愿世间再无配环境(抱拳)
补更:
忽然想起来还有一个会导致很慢很慢的原因....
pip!
这个也得换个源,但是换临时源就行了
加上这么一块就行了,我这里用的清华源
-i https://pypi.tuna.tsinghua.edu.cn/simple some-package
后面还有几个这样的地方,自己手动加一下就好了
其实其实最最最简单的方法是用阿里源里的一个ctfd docker,allinone那种的,全套配完不用十分钟。
docker pull registry.cn-hangzhou.aliyuncs.com/capeic_sbw/ctfd:1.0
docker run -p 8000:8000 -it registry.cn-hangzhou.aliyuncs.com/capeic_sbw/ctfd:1.0
然后就好了,8000端口直接用,简直太太太方便了