前言
相信很多人在部署博客的时候都会遇到默认的Gravatar源不可用的情况
通常我们会使用镜像服务,例如
还有别的一些知名的镜像服务等
但不知你有没有想过,为何不去部署一个属于自己的镜像源呢?
介绍
Gravatar
Gravatar 集成在数以百万计的网站上,是一项免费服务,适用于网站所有者、开发人员以及任何希望以一种轻松且经过验证的方式在线建立身份的人
自 2007 年以来的一个Automattic项目,每个WordPress都内置了 Gravatar
帐户,并在开放网络上广泛实施
Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化
容器是完全使用沙箱机制,相互之间不会有任何接口
环境安装
本文章主要讲述如何基于Docker部署镜像,因此你需要了解Docker环境的部署方法
关于此章节,我建议你前往 https://www.runoob.com/docker/docker-tutorial.html 获取更详细的说明
本文教程中可正常安装使用的前提是 你掌握一台 拥有root权限的海外VPS服务器
暂不支持虚拟主机、Vercel等,未来也不太可能支持
Linux (推荐)
# Docker 官方脚本(使用阿里云镜像)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# Docker 官方脚本(使用AzureCN镜像)
curl -fsSL https://get.docker.com | bash -s docker --mirror AzureChinaCloud
# 国内DaoCloud脚本
curl -sSL https://get.daocloud.io/docker | sh
Windows
请查看 https://www.runoob.com/docker/windows-docker-install.html
获取镜像
Docker Build
Proxy Driver for Docker 已全部在GitHub开源,你可以前往GitHub克隆并自行 build 镜像内文件
当然如果你嫌麻烦的话你也可以使用本文中的常规方法
Docker Pull
目前已有两个镜像源:GitHub Package 和 Docker Hub
# DockerHub源
docker pull ahdark/proxydriver:main
本站还提供更多的拉取源
- GitHub
ghcr.io/ah-dark/proxydriver-docker:main
- 阿里云容器
registry.cn-beijing.aliyuncs.com/ahdark/proxydriver:main
你也可以获取特定版本的镜像
# DockerHub源
docker pull ahdark/proxydriver:1.0.0
运行镜像
由于镜像内置了Nginx:1.21.3-alpine,故你只需映射端口
docker run --name proxydriver -p 80:80 -d ahdark/proxydriver:main
在这句中,我们将容器内的80端口映射到VPS的80端口,也就是web服务默认端口
如果你想要映射到其他端口,你可以更改命令,如下
docker run --name proxydriver -p 8080:80 -d ahdark/proxydriver:main
在这句中我们将容器内的80端口映射到了VPS的8080端口
如果你在执行的时候报错 Unable to find image 'proxydriver:***' locally
,说明你没有正确的拉取镜像或者镜像版本不对,你需要做到与上文拉取的版本相同
当出现以下提示或类似提示即为成功,此时你可以访问 http://IP/avatar/
查看效果
访问
我通过虚拟机部署了服务,效果如下
快去试着部署吧!
总结
这是个人人都可以部署的方法,但直接部署它具有一些缺点
- 没有缓存
- 没有分发加速
- 没有路由中转
如果你使用这个方法部署,那你的访问延时大概率在300ms~500ms之间
而 sdn.ahdark.com/avatar/
的访问延时不会高于200ms(前提是有缓存)
综上,我还是建议使用 sdn.ahdark.com/avatar/
服务以获取更好的加速效果
当然,这也是个练习使用容器的好机会,不妨尝试部署一下
如果你觉得这个还不错的话,就来点个star吧!