必备前提条件
1,购买一台网络畅通的云服务器
目前国内有云服务器的提供商很多,比较出名的有腾讯,阿里以及华为。我这里不对任何云服务器做推荐,只强调大家购买的云服务器一定要“网络畅通,可以访问全球的那种”!
?我个人购买的是华为云的香港服务器,我们需要自己安装系统(我这里安装的事Ubuntu系统),并且需要知晓它的公网IP地址以及得到SSH权限。不同的云服务器有不同的获取方案,具体操作这里不细说,自己百度也很简单。
2,购买一个属于自己的域名
域名的购买渠道主要在腾讯和阿里,不过我们其实对域名没有任何要求,因为我们只是用来做解析使用,所以也不需要备案,购买的时候当然是越便宜越好。建议大家直接购买这种“.xyz”“.fun”后缀的域名,每年7块钱甚至更低,并且续费也便宜。
部署过程
1,使用域名做好 DNS 解析
?我是将域名在 Cloudflare 平台托管的,所以我们需要在这里做好两个 DNS 解析:添加两条解析记录【 @ 】记录 和【 * 】记录到我们购买服务器的公网IP即可。
2,安装Docker和docker-compose
?这里假设你已经装好系统且使用SSH终端工具连接上了你的服务器。先使用命令【apt-get update && apt-get install -y wget vim】更新和安装一些必备组件。
?接着使用脚本命令【wget -qO- get.docker.com | bash】安装Docker。
?完成后使用命令【docker version】确认下Docker信息,如果返回的有Docker版本就说明安装成功。
?然后再输入命令【systemctl enable docker】将 Docker 服务加入开机自启动。
?Docker搞定之后我们继续通过命令【
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose】安装Docker compose,然后在通过命令【sudo chmod +x /usr/local/bin/docker-compose】赋予Docker compose执行权限。
?同样,我们通过命令【docker-compose --version】确认下docker-compose信息,如果返回的有版本信息就说明docker-compose也安装成功了。
3,开始部署
?先通过命令【git clone https://github.com/wzshiming/crproxy.git】拉取代码。
?然后通过命令【cd crproxy/examples/defaul】进入项目目录。
?接着通过命令【vim start.sh】编辑start.sh文件。
?进入到这个界面之后,按下键盘上的 "i" 键进入编辑模式,将gateway后面的变量值修改为我们自己的域名地址,编辑完成后,按下键盘上的 "Esc" 键退出编辑模式。最后再输入":wq"并按下回车键保存文件并退出vim编辑器。
?最后输入【./start.sh】命令启动服务。
?最后该项目会自动安装它的服务(其实也是一个Docker容器)。
使用方法
需要说明的是,这个项目是通过在一些常用镜像仓库添加前缀的方式拉取镜像的。
常用的镜像仓库一般有这些:
- cr.l5d.io
- docker.elastic.co
- docker.io
- gcr.io
- ghcr.io
- k8s.gcr.io
- registry.k8s.io
- mcr.microsoft.com
- nvcr.io
- quay.io
- registry.jujucharms.com
这里假设我们使用的域名为“zdm.com”,我们需要从“k8s.gcr.io”里拉取指定的镜像“coredns/coredns:v1.8.6”。
?实际的操作就是:
docker pull zdm.com/k8s.gcr.io/coredns/coredns:v1.8.6
可以看到我这里已经可以正常的拉取镜像了。
?在NAS的镜像仓库也能看到拉取的镜像,不过名称为“zdm.com/k8s.gcr.io/coredns/coredns:v1.8.6”。反正它的命名规则就是【域名/镜像仓库/镜像名称】,咱们再部署的容器自己添加完整就可以了。