最近因为国内彻底屏蔽了dockerhub以及各种国内镜像站,所以使用docker也成功加入了翻墙大礼包。我之前一直用过国内的一些镜像站,虽然也不太好用但我装的容器也就那么两三个,所以忍一下也能用,但至此只能另谋出路了。

我在pc上一直用的v2rayn的客户端,所以可以通过配置局域网代理让docker正可以正常的拉去镜像

# 首先新建目录和文件
mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/http-proxy.conf

# 然后在文件中粘贴以下内容, 注意代理地址需要换成你自己服务器的内网 ip 和代理端口
[Service]
Environment="HTTP_PROXY=http://192.168.8.125:10819"
Environment="HTTPS_PROXY=http://192.168.8.125:10819"
Environment="NO_PROXY=your-registry.com,10.10.10.10,*.example.com"

# 重启 docker
systemctl daemon-reload
systemctl restart docker

# 检查环境变量是否生效
systemctl show --property=Environment docker

但我的pc并不是24小时开机,而且ip也不固定,所以想着把v2ray部署到arm小盒子上去。这个时候很多捡垃圾玩家可能就直接上openwrt了,但我不想折腾openwrt也不想增加局域网内的网络复杂度,只是想简单部署一个v2ray用作docker的代理,就像pc电脑上装一个v2rayn那样。

经过一番搜索,最后确定使用v2ray core + v2raya web ui的方案。

v2rayA/v2rayA】项目的官方文档提供了很多种安装方法的指导,我选择了直接添加软件源。

# 添加公钥
wget -qO - https://apt.v2raya.org/key/public-key.asc | sudo tee /etc/apt/keyrings/v2raya.asc

# 添加软件源
echo "deb [signed-by=/etc/apt/keyrings/v2raya.asc] https://apt.v2raya.org/ v2raya main" | sudo tee /etc/apt/sources.list.d/v2raya.list

# 更新 & 安装
sudo apt update && sudo apt install v2ray v2raya -y

# 启动 & 添加启动项
sudo systemctl enable --now v2raya.service

启动v2raya以后,打开浏览器,访问http://host-ip:2017即可访问v2raya的web ui。

接下去就是导入自己的梯子配置信息,然后选中会用到的节点,点击左上角的启用即可。

关于透明代理的配置,我照抄的官网上的推荐配置。

到这里全部v2raya的配置就结束了。

如果局域网内有其他机器需要走代理,比如debian,只需要在.bashrc中添加代理配置:

export http_proxy="http://192.168.1.9:20172"
export https_proxy="http://192.168.1.9:20172"

如果是windows,在设置——网络——代理中进行配置。

这里要留意,如果要走v2raya中配置的分流规则,端口号需要指向20172(默认的端口号)。


参考文章

  1. 总结目前国内加速拉取 docker 镜像的几种方法
  2. v2rayA用户文档