‘资源下载’ 分类下的所有文章
2024七月16

为群晖 Container Manager 配置代理

原文地址:https://blog.chai.ac.cn/posts/docker-proxy

最后更新:2024年7月15日

最近又见识到了一些神奇的骚操作,考虑到在将来 Docker 的国内各个镜像站可能变得不可用,需要未雨绸缪一下。 有旁路由自然是好的,但现在打算用 Proxy 来解决这个问题。 由于群晖的 Container Manager 是基于 Docker 的,但部分配置路径不同,所以特意记录一下。

注意事项:

  • 本教程在全新的 Ubuntu 22.04 LTS 系统环境下通过测试
  • 本教程在群晖 DSM 7.2 版本通过测试,假定具备 root 权限
  • 假定你已有可以代理 HTTP 或 SOCKS 协议的端口:例如 192.168.50.100:7893
  • 尽可能引用官方文档,本文主要针对需要代理的部分的设置

安装 Docker,为 apt 设置代理

群晖 Container Manager 用户可以跳过这一小节,你实际上已经有 Docker 了。

Docker Engine 安装过程请参考 官方文档

Docker 官方给出了许多安装方式,我选择用 apt 从官方维护的源中安装。

你也可以选择手动下载二进制包,然后用 dpkg 安装.

这里选择使用 apt 演示,关键在于很多人还不清楚如何为 apt 设置代理:

shell

sudo vi /etc/apt/apt.conf

shell

Acquire::http::Proxy "http://192.168.50.100:7893";
Acquire::https::Proxy "http://192.168.50.100:7893";

注意第二个行依旧是 http 协议,否则会碰到 TLS Could not handshake 问题。 代理服务器只需要负责做请求转发和响应转发,不会像 HTTPS 协议一样进行解密和加密。

为 Docker Daemon 设置代理

安装完成后,官网教程会让你运行 docker run hello-world 来验证安装是否成功。

默认情况下,你的本地肯定不存在任何有关镜像(如下所示),因此会从官方库拉取:

shell

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Retrying in 1 second
docker: error pulling image configuration: 
  download failed after attempts=6: dial tcp 31.13.82.33:443: i/o timeout.

执行拉取操作的是 Docker Daemon,参考 官方文档 进行 Proxy 有关的设置:

对于 Docker 引擎 23.0 及更高版本

提示

使用 docker info 可以查询到版本信息,版本太低的话请参考下一节的方法。

Docker Daemon 大多数配置选项都可根据 daemon.json 文件进行设置。

对于 Docker 引擎 23.0 及更高版本,可以在该文件中设置代理行为:

  • Root 模式:/etc/docker/daemon.json
  • Rootless 模式:~/.config/docker/daemon.json
  • 群晖 Container Manager:/var/packages/ContainerManager/etc/docker.json

shell

{
  "proxies": {
    "http-proxy": "http://192.168.50.100:7893",
    "https-proxy": "http://192.168.50.100:7893",
    "no-proxy": "127.0.0.0/8"
  }
}

这些配置将覆盖 docker.service 默认的 systemd 设定。

如果您位于 HTTP 或 HTTPS 代理服务器后面,例如在公司设置中, 则必须在 systemd 服务文件中指定守护程序代理配置,而不是在 daemon.json 文件中或使用环境变量。

较为通用的 systemd 设置方法

如 Docker 版本太低,不支持通过 daemon.json 配置代理,则需手动创建 systemd 文件:

  • Root 模式:/etc/systemd/system/docker.service.d
  • Rootless 模式:~/.config/systemd/user/docker.service.d
  • 群晖:/etc/systemd/system/pkg-ContainerManager-dockerd.service.d

添加 http-proxy.conf 文件,下面以群晖 Container Manager 为例:

shell

sudo mkdir -p /etc/systemd/system/pkg-ContainerManager-dockerd.service.d
sudo vi /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf

shell

[Service]
Environment="HTTP_PROXY=http://192.168.50.100:7893"
Environment="HTTPS_PROXY=http://192.168.50.100:7893"
Environment="NO_PROXY=localhost,127.0.0.1"

如果你有内建的 registry-mirrors, 记得加入 NO_PROXY 中。

重启 Docker Daemon

不论采用上面哪种方式,都需要重启 Docker Daemon 服务:

  • 如果是旧版本群晖(6.0+),要用 synoservice 代替 systemctl.
  • 如果是 rootless 模式,要用 systemctl --user 代替 sudo systemctl.

下面仅仅给出 root 模式和群晖 Container Manager 的重启方法:

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl restart pkg-ContainerManager-dockerd.service

重启 Docker/Conatiner Manager 服务需要一定的时间,取决于你正在运行的容器数量。

检查设置是否生效:

sudo systemctl show --property=Environment docker
systemctl show --property=Environment pkg-ContainerManager-dockerd.service

再次跑 docker run hello-world,应该就能成功了。

为 Docker 容器设置代理

有的时候,你使用的 Docker 镜像在 build 和 run 时也需要代理。 大部分应该都知道怎么配置,或者会通过环境变量来设置。 但有的时候希望代理配置默认对所有容器生效(那为什么不用机器或路由级别的代理呢),可以参考下面的方法。

参考 官方文档 中的说明,你可以在 ~/.docker/config.json 中设置代理。

shell

{
 "proxies": {
   "default": {
     "httpProxy": "http://192.168.50.100:7893",
     "httpsProxy": "http://192.168.50.100:7893",
     "noProxy": "127.0.0.0/8"
   }
 }
}

保存文件后配置将生效,适用于新容器的生成和运行,无需重启 Docker,

本质上,它通过影响 Docker CLI 来添加环境变量,效果类似于:

shell

docker build --build-arg HTTP_PROXY="http://192.168.50.100:7893" .
docker run --env HTTP_PROXY="http://192.168.50.100:7893" redis

但一般还是建议单独针对需要代理服务的容器手动设置这些环境变量, 同样地,一些 Docker 内的应用是不按照环境变量来设置代理的,需要手动配置,需要额外注意。 折腾了这么多,是不是还是觉得旁路由+规则代理的方法会更加简单呢?这就看个人需求了。

2016五月18

Node.js 企业级开发框架

基于Sails.js MVC框架,路由自动映射,完善的权限控制体系,优美的后台界面。

集成最基础的通用功能:

系统(机构管理、用户管理、角色管理、菜单管理、定时任务、数据库备份、IP访问控制、登录日志等)

CMS(站点管理、栏目管理、内容管理、广告及链接等)

微信(会员列表、微信消息、群发消息、自动回复、关键词回复、帐号配置、菜单配置等)

 

演示地址:http://www.nodeshop.cn

联系方式:QQ  1162-4317   (备注nodejs)

 

界面截图:

QQ截图20160518095645

2

2015二月3

微信:开放了一个免费查询微信文章阅读数点赞数的网站wirank.cn

Wirank.cn

提供自助的微信文章阅读数查询功能,以及回溯公众号历史文章功能,并提供API接口供调用。

 

2015一月17

微信公众号历史文章回溯:人民日报(2012-12-28至2015-01-15)

人民日报(2012-12-28至2015-01-15).xlsx

链接: http://pan.baidu.com/s/1jG67rXs
密码: flo0

2014九月23

NutzWk 企业级WEB后台开发框架开源了

NutzWk

https://github.com/Wizzercn/NutzWk

基于Nutz的开源企业级开发框架。

文件编码全部为UTF-8,可以导入Eclispe、IDEA中,jdk7,tomcat 6/7.
创建空的数据库,首次启动项目会自动初始化数据.

 

本框架已成功应用于XX省交通厅网络问政平台、XX省交通厅CMS内容管理系统、XX公司舆情监测管理中心等项目。

使用条款:
1、个人开源,可以任意修改使用;
2、商业使用,必须更改后台菜单布局、CSS样式、界面颜色等元素(既:不可使用原始界面用于商业项目)。

2014九月15

Cron:表达式在线验证工具

/cron/

 

QQ截图20140915153751

 

Java 解析Cron表达式,计算执行时间源码:

    @At
    @Ok("raw")
    public String getCron(@Param("exp") String exp,HttpServletResponse response) {
        response.setHeader("Content-Type", "text/javascript");//设置跨越访问 $.getScript()
        List<String> list = new ArrayList<String>();
        try {
            exp= URLDecoder.decode(Strings.sNull(exp),"utf-8");
            log.info(exp);
            CronTriggerImpl cronTriggerImpl = new CronTriggerImpl();
            cronTriggerImpl.setCronExpression(exp);
            Calendar calendar = Calendar.getInstance();
            Date now = calendar.getTime();
            calendar.add(Calendar.MONTH, 1);//把统计的区间段
            List<Date> dates = TriggerUtils.computeFireTimesBetween(cronTriggerImpl, null, now, calendar.getTime());//这个是重点
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            for (int i = 0; i < dates.size(); i++) {
                if (i > 9) {//这个是提示的日期个数
                    break;
                }
                list.add(dateFormat.format(dates.get(i)));
            }
        } catch (Exception e) {
        }
        return "var data="+ Json.toJson(list);
    }
2014七月1

原创:帝国CMS7.0批量上传图片集插件

版本特点:

1、使用系统自带的水印系统,勾选即可使用;

2、可勾选生成缩略图。

使用方法:

1、将 uploadify 文件夹解压至 ../e/extend/

2、系统–>数据表与系统模型–>管理数据表–>图片系统数据表–>管理字段–> morepic 修改:
将“输入表单替换html代码.html”文件内容,拷贝替换掉“输入表单替换html代码”

3、搞定。

 

ps:uploadify.php 第49行,没有用到的,可以删掉提高效率。

效果

 

下载地址:

1、原版下载(或附件):http://pan.baidu.com/s/1kTDmdyZ
2、上传时获取照片附加属性(曝光、光圈、相机型号等)版本:
     http://pan.baidu.com/s/1qWuLahQ 

 

 

2013十一月7

三星GT-P6200 4.0.4国行固件下载

文件名称:Samsung-Updates.com-GT-P6200-CHN-P6200ZCLPR-1363586771

国行Android 4.0.4 版本,,,逛了一圈论坛,要么收费(鄙视之),要么不能用会变砖,,自己从官网翻,墙下到的固件,分享一下。

 

http://yun.baidu.com/s/1h6JRR

 

 

 

2013十一月4

创维4K电视 TV客户端使用体验及汇总下载

目前市面上的智能电视、4K电视,多采用Android 4.0以上版本系统,这给电视上安装各类应用提供了可能。

下面我来像大家介绍一下,截至目前各类软件的使用体验,当然软件是逐步升级完善的,文中提到的缺陷可能在下个版本解决。

以下介绍已通过楼主亲身体验测试,电视型号:创维39E780U  4K电视 Android 4.0系统。

Top 1 :优酷机顶盒客户端

下载地址:http://mobile.youku.com/index/wireless

推荐理由:运行稳定、支持各类电视遥控器、登陆后可与电脑手机同步观看记录、自动跳过片头片尾、自动播放到上一次观看时间点。运行稳定是最重要的一点,搜索功能强大,视频内容和网站同步。

缺点:可能是电视处理器和内存较低的原因,偶尔会出现音画不同步停顿几秒后就正常的情况。这个情况在我的电视上,不同的客户端软件都出现,应该是电视的原因。

Top 2 :转屏助手

下载地址:http://tt.showkey.tv/

推荐理由:非常方便,支持电驴、磁力链地址, BT种子上传,在线视频网站地址云端转码,无需下载。

缺点:播放种子视频和迅雷云播关联很大,要是迅雷云播服务器挂了(一般不会挂),就不能播放了。对有些视频支持不是太好,可能会自动退出播放。

Top 3 :电驴大全HD

下载地址:http://www.verycd.com/app/

推荐理由:运行稳定,集成各视频网站资源,做了比较合理的分类梳理,可以看海贼王。

Top 4 :PPTV聚力 HD

下载地址:http://yun.baidu.com/s/19rfzm

推荐理由:运行稳定,内容丰富。

缺点:菜单图标较大,浏览查找内容没优酷那么方便。官方不提供TV版本下载,说是集成在盒子里,所以需要提取软件。

Top 5:搜狐视频TV版

下载地址:http://yun.baidu.com/s/19rfzm

推荐理由:运行稳定。

缺点:切换菜单有点慢,视频内容较少。

Top 6 :MoreTV

下载地址:http://www.moretv.com.cn/plus/view.php?aid=22

推荐理由:视频资源丰富。

缺点:界面菜单没有优酷设计的那么合理。

Top 7:小鹰直播

下载地址:http://eagleapp.tv/

推荐理由:电视直播资源丰富,视频源可用率较高。

缺点:有些电视台清晰度较低,画质和卫星锅差不多。

Top 8:泰捷视频、阿狸直播

下载地址:泰捷视频  http://www.togic.com/livetv 阿狸直播 http://down.7po.com/alizhibo/1-1.html

推荐理由:电视直播资源丰富。

缺点:在我的电视上运行不太稳定,直播资源打不开的时候会导致电视死机重启。

其他运行稳定的视频软件:

1、BiliBili弹幕网客户端 http://www.bilibili.tv/

其他目前运行不稳定、还不成熟但具有潜力的视频软件:

1、迅雷云播:http://vip.xunlei.com/app/android/?dlxunlei

迅雷的资源丰富大家都很清楚,和转屏助手一样方便(转屏助手是基于迅雷云播的资源做的),官方没有出TV专用客户端。

2、百度云电视:http://tv.baidu.com/

百度的电视客户端,百度大家都知道,但百度云电视目前是小作坊产品,使用还不方便,BUG也很多。希望后期能发力,潜力巨大。

3、爱奇艺影视、PPTV等视频网站客户端,没有还没有针对电视的版本,待发展有,但是集成在盒子里布公开下载地址可恶啊,爱奇艺和创维搞创维盒子,PPTV被苏宁收购也搞集成,比起优酷来真是倒退。

4、乐视TV客户端,从乐视盒子中破解提取出,菜单和播放器不能自适应4K屏幕,首页视频不能播放的bug。

 

PS:2013-11-07 更新内容

 

从乐视盒子提取出的TV客户端不能自适应4K分辨率,还有bug。

搜狐的TV客户端做得比较稳定,但加载慢而且内容不丰富。

PPTV HD内容和速度都不错,但界面菜单似乎设计的不太好,不方便找内容。还是优酷给力。

以上三个客户端下载地址:

http://yun.baidu.com/s/19rfzm

 

 2013-11–11 更新:

终于找到一款更好的直播软件——VST全聚合,不用忍受泰捷视频的死机、小鹰直播的视频源无法打开等问题,还有几个高清频道,比如湖南卫视HD。问题是除了看电视还行,其他的功能都是鸡肋,迅雷云播获取不到列表、电影电视基本上打开就报错退出。。就不能有一款如优酷运行那么稳定的直播软件么。。。

2013七月26

怪兽大学.HD.1024×548.中文字幕

磁力链地址:

 

magnet:?xt=urn:btih:9e3f26c45a4da68c7983dfa6cc126521073f5be8&dn=%E6%80%AA%E5%85%BD%E5%A4%A7%E5%AD%A6.HD.1024×548.%E4%B8%AD%E6%96%87%E5%AD%97%E5%B9%95