实测有效!FastGithub+国内加速源,搞定NAS的GitHub/Docker网络
前言
在国内用NAS玩Docker、刷GitHub,简直是场“网络玄学”考验:电脑上偶尔还能顺利打开,NAS里却频繁连接超时;代码克隆到一半突然中断,拉个镜像要等大半天,刷新、重试无数次还是白搭。
就说昨天,我想在NAS上部署个冒险岛私服,拉取ghcr.io的镜像时,300多M的文件居然要等一晚上,直接把我整疯了!临时办法根本不顶用,必须找个一劳永逸的解决方案。
折腾一番后,找到两个实测有效的办法:用FastGithub解决GitHub全场景访问问题,配置国内加速源搞定NAS Docker镜像拉取慢,今天就把详细操作分享给同样被困扰的你!

解决访问github失败问题
软件介绍
FastGithub 是 GitHub 加速神器,解决 GitHub 打不开、用户头像无法加载、releases 无法上传下载、git-clone、git-pull、git-push等问题
项目地址:https://github.com/creazyboyone/FastGithub/tree/master

部署安装
新建存储目录
安装之前需先在docker文件夹中新建一个fastgithub文件夹,用于配置持久化保存,后面所有相关文件都存在这里。

准备Compose文件
打开飞牛os的docker--compose--新增项目--项目名称(填fastgithub,可识别即可),l路径选择上面建立好的文件夹“fastgithub”,选择创建docker-compose.yml,然后将下面代码复制粘贴到代码框,勾上创建项目后立即启动,最后点击创建即可:
version: "3.7"
services:
fastgithub:
image: slcnx/fastgithub
network_mode: host
restart: always
volumes:
- cacert:/fastgithub/cacert/
sample:
depends_on:
- fastgithub
image: slcnx/ubuntu:18.04
volumes:
- cacert:/tmp/cacert
- build_data:/build_data
working_dir: /build_data
restart: on-failure
tty: true
entrypoint: sh -c 'cp /tmp/cacert/fastgithub.cer /usr/local/share/ca-certificates/fastgithub.crt && update-ca-certificates && git clone https://github.com/kubernetes/kubernetes.git'
command: ""
environment:
https_proxy: http://127.0.0.1:38457
http_proxy: http://127.0.0.1:38457
network_mode: host
build:
working_dir: /build_data
depends_on:
- sample
image: nginx
volumes:
- build_data:/build_data
volumes:
cacert: {}
build_data: {}
需要注意修改路径,当然,就放在yml文件夹下面就无所谓。另外需要放行38457端口。

当然,如果害怕代码出错,可以直接在网页上下载作者准备好的yml文件,下来下来后放入前面创建的文件夹。然后在
docker--compose--新建项目,填好项目名称和路径,选择导入docker-compose文件就行,会自动识别yml文件并导入代码。下载地址:https://github.com/creazyboyone/FastGithub/tree/master。
如果怕麻烦或者网络原因无法下载的,也可以下载我准备好的文件,公众号回复
fastgithub即可。
点击创建,项目就创建成功了,开始拉取镜像。

显示项目运行就部署成功了。
另外,这个项目也有windows、macos、linux的桌面安装版本,直接在
https://github.com/creazyboyone/FastGithub/releases里面下载,,直接运行就行,无需其他操作。
解决nas拉取镜像速度慢问题
Docker 默认的镜像仓库在国外,国内访问本来就慢,遇到网络波动直接就失败了。解决这个问题的核心,就是给 Docker 配置国内的镜像加速站点。
进入飞牛nas的docker--镜像仓库--设置-加速源设置

进入加速源设置后,点击添加--将以下两个加速源地址和名称填进去。
https://docker.1ms.run
https://hub.littlediary.cn

填好后点击OK text,然后填下一个。

等都填好后,点击保存并重启docker,就行了。
这下再去拉取镜像就不会有问题了。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
