为威联通nas设置docker hub加速源

威联通的nas相对于群晖来说,价格便宜,且低端ARM版本也支持docker,自然是穷人的第一选择。
目前(硬件TS-428,固件4.3.6)来说,威联通nas上的docker有两个大坑:

不能运行非ARM镜像(ARM版CPU限定)

解决方法:
1. ARM版镜像(ARM32v7ARM64v8
2. 兼容版本,国际大厂的镜像大都一个tag对应多个架构版本。
3. 本地编译镜像源码。

默认不能设置docker hub的加速源

按照常规思路,我们打开Container Station,进入属性页面,准备设置Registry服务器:

发现默认服务器地址居然是灰色的,不能修改。即使额外新增了一个Registry服务器,默认Container Station还是使用docker hub原来的地址。
这时候我们只能在ssh下修改了。使用任意终端工具,ssh [email protected]的地址,输入密码后登陆到shell。

输入which docker,找到docker的安装目录,如下图,是/share/CACHEDEV1_DATA/.qpkg/container-station/bin/。我们进入该目录后,跳转到../etc/目录。这时修改目录下的docker.json文件,该文件就是Linux下的/etc/docker/daemon.json(Linux)和 Windows下的%programdata%\docker\config\daemon.json

Json配置文件格式见官方文档,可以简单写为:

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

其中https://docker.mirrors.ustc.edu.cn是中科大的docker加速源地址,可以替换成其他地址。
保存文件后,运行/etc/init.d/container-station.sh restart重启docker服务,大概耗时1分钟。
这样,nas的docker hub加速源就设置完成了。

拉取镜像时,尽量用docker pull 命令。在Web界面操作会在选择tag界面卡很久。


1月14日补充

docker加速源也不是很稳定,今天差点让我误以为方法有问题。建议先在本地确认加速源有效,再执行上面的操作。
就我个人而言,加速源稳定性排名如下:
1. 阿里云
2. 中科大 https://docker.mirrors.ustc.edu.cn
3. Docker官方中国源 https://registry.docker-cn.com

目前,腾讯云加速源已不可用,dns解析失败。

为威联通nas设置docker hub加速源》有3个想法

  1. ruiq
    Google Chrome 74.0.3729.131 Google Chrome 74.0.3729.131 Mac OS X  10.13.6 Mac OS X 10.13.6
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36

    你好,请问一下qnap里container station启动container的时候能不能指定参数呀?

    回复
    1. 陈玉鹏 文章作者
      Google Chrome 74.0.3729.131 Google Chrome 74.0.3729.131 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36

      你可以看看/etc/init.d/container-station.sh中是怎么启动docker的。

      回复
      1. 陈玉鹏 文章作者
        Google Chrome 74.0.3729.131 Google Chrome 74.0.3729.131 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36

        我傻了,看成docker的参数了。
        界面上可以设置容器参数的。也可以在ssh中用docker run命令直接启动容器。

        回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Solve : *
13 + 27 =