家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

2019-10-17 20:15:07 29点赞 258收藏 20评论

小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。2019.10.14-2019.11.17第四期原创新人训练营招募中,点亮你的创作之星。更有iPhone11、礼品卡等多重豪礼等你来拿!~请猛戳此链接报名!

HK君不喜欢重复造轮子,docker各种软件的安装部署随便一搜就能找到很多教程,就懒得写了。这次写一下群晖威联通NAS上的docker的独家玩法吧(之前在国内网站上似乎没有见过相关内容)。

现在NAS玩家、虚拟化玩家和垃圾佬们家里通常会有多个设备上跑着docker,比如我在软路由上用docker跑着一些服务,在威联通NAS上又用docker跑着一些下载软件。有些人可能还在N1之类设备上跑着docker服务。设备多了,管理也是一个问题。这时我们可以用一个Portainer来集中管理这些设备上的docker服务。

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

为什么要用portainer来集中管理?

1、Portainer简单说就是一个能够管理docker的docker容器。Portainer的功能比NAS系统上自带的docker管理界面要强大很多。NAS上的docker管理界面通常只能满足最基本的管理需求。

例如在NAS上的docker管理界面创建一个docker之后,很多配置就无法再次修改,又或者想要对已经部署好的docker的镜像进行升级,这些操作就需要重新创建一个docker,或者需要使用命令行。而使用Portainer,可以非常方便的对已经部署好的docker进行修改、复制,甚至只点几下鼠标,就可以对docker使用的镜像进行升级。

2、Portainer可以在一个后台集中管理多个设备上的docker服务,就不需要到各个设备的后台或者命令行去操作了。

此文主要就是讲解让Portainer通过docker API连接到群晖和威联通NAS上的docker服务来进行管理的方法。

Portainer的部署

首先当然我们需要用docker部署一个Portainer,这个Portainer可以部署在内网中的任意一个docker服务上,例如我是部署在软路由上的OMV虚拟机上的,当然你也可以部署在群晖或者威联通NAS上。

通常Portainer在命令行下的部署命令是:

docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /portainer_data:/data portainer/portainer

-p 9000:9000是指把容器的9000端口映射到主机的9000端口(或者其他端口也可以)。
-v /portainer_data:/data是将容器的/data目录映射到主机的/portainer_data目录(这个路径可以随便自定义),用于持久化保存Portainer本身的一些数据。
-v /var/run/docker.sock:/var/run/docker.sock就是将容器的/var/run/docker.sock映射到主机的/var/run/docker.sock,用于直接和主机的docker守护进程进行通信,来管理当前主机上的docker。

在OMV或者debian之类LINUX系统的docker上部署Portainer用上面这条命令就可以了。但是!在群晖或者威联通的NAS的docker管理器上,是没有办法直接映射/var/run/docker.sock的,虽然也可以用命令行运行上面那行命令来部署Portainer,但是我并不建议这么做,因为在群晖和威联通NAS上,通过映射/var/run/docker.sock来和主机的docker守护进程进行通信似乎会有一些问题,可能是和群晖与威联通NAS自带的docker管理器有冲突。

如果要在群晖或者威联通NAS上部署Portainer,推荐的方法是:创建时只需要映射9000端口和/data目录即可,不需要映射主机的/var/run/docker.sock,然后等到Portainer运行起来以后,我们再通过TCP协议连接docker API去和docker守护进程进行通信。如图设置:

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

然后启动docker,就可以用http://ip:9000来访问Portainer了。首先设置好管理员密码:

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

然后会来到连接docker终端的界面:

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

如果之前在创建这个Portainer容器的时候,映射了本地主机的/var/run/docker.sock,就可以选择Local,然后点击连接即可连上本地主机的docker服务。如果没有映射本地主机的/var/run/docker.sock,则需要选择Remote,然后设置Endpoint URL来连接。

所以下面就开始说明Portainer怎么连接到群晖和威联通的docker服务吧。

Portainer连接群晖docker服务进行管理

首先我们需要让群晖的docker服务允许通过TCP进行连接。用SSH连到群晖的命令行上,编辑/var/packages/Docker/etc/dockerd.json这个文件:

sudo vi /var/packages/Docker/etc/dockerd.json

添加此行:

"hosts" : [ "tcp://192.168.0.233:2375", "unix:///var/run/docker.sock" ],

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

其中的IP需要改成你的群晖主机的IP地址,然后用:wp保存。接下来重启群晖的docker服务:

synoservice --restart pkgctl-Docker

这时我们就可以在Portainer上通过TCP协议连接群晖的docker API了。在之前的连接docker终端的界面,Name随便填写,Endpoint URL填写群晖的ip和端口2375,TLS选择关闭,然后点击Connect按钮就连接上了。

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

进入Portainer后台就能看到群晖上的docker服务,并进行管理了:

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

如果要在已经连接到本地docker服务或者其他docker服务的Portainer上添加群晖docker服务,可以在Portainer后台菜单中选择Endpoints,然后点击Add endpoint:

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

Environment type选择Docker,和前面说的一样,设置Name和Endpoint URL,TLS选择关闭,然后点击Add endpoint按钮,就把群晖docker服务添加到了Portainer的管理列表。

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

Portainer连接威联通docker服务进行管理

威联通NAS的Container Station直接提供了远程访问和管理docker的方法,并且支持TLS,所以就算是外网访问和管理也是比较安全的。从这点也可以看出威联通在虚拟化方面做的要比群晖更加专业一些。

首先打开威联通NAS的Container Station,选择菜单的属性,然后选择Docker凭证。点击下载按钮,将证书cert.zip文件下载到电脑上并解压,然后再把cert.zip文件上传到威联通NAS的共享文件夹中。

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

用SSH连接到威联通的命令行,用cd进入保存了cert.zip证书文件的目录。用以下命令创建docker的证书文件夹:

mkdir -pv ~/.docker

解压证书文件到该文件夹:

unzip cert.zip -d ~/.docker

设置环境变量:

export DOCKER_HOST=tcp://192.168.0.112:2376 DOCKER_TLS_VERIFY=1

其中的IP需要改成你的威联通NAS的IP地址。

接下来就去Portainer去添加威联通NAS的docker服务吧。依然是在Portainer后台菜单中选择Endpoints,然后点击Add endpoint。按照以下设置:

  • Environment type选择Docker

  • Name可以随便设置

  • Endpoint URL填写威联通的ip和端口2376

  • 打开TLS

  • 上传之前解压出来的证书文件:
    TLS CA certificate上传ca.pem文件;
    TLS certificate上传cert.pem文件;
    TLS key上传key.pem 文件

最后点击Add endpoint按钮,就把威联通NAS上的docker服务添加到了Portainer的管理列表。

家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务

似乎应该有个结语

Portainer功能非常强大,基本上可以实现对docker的各种操作。用Portainer来统一管理各台设备上的docker服务,可以很大的提升便利性和实用性,强烈推荐给NAS和虚拟化玩家们。

如果觉得这篇文章有干货,欢迎看官们关注和打赏,以后会奉上更多干货文章家庭云不一样的玩法:集中管理群晖与威联通NAS上的docker服务 


未经授权,不得转载
展开 收起

QNAP 威联通 TS-453Bmini 四盘位NAS网络存储(J3455、4GB内存)

QNAP 威联通 TS-453Bmini 四盘位NAS网络存储(J3455、4GB内存)

1949元起

Synology 群晖 DS918+ 四盘位NAS网络存储服务器

Synology 群晖 DS918+ 四盘位NAS网络存储服务器

3900元起

威联通(QNAP)TS-653B 4G内存 六盘位nas中小企业网络存储服务器 私有云存储 磁盘阵列(无内置硬盘)

威联通(QNAP)TS-653B 4G内存 六盘位nas中小企业网络存储服务器 私有云存储 磁盘阵列(无内置硬盘)

5470元起

威联通(QNAP)TS-432XU-RP四核CPU内建 2个10GbE SFP+ 四盘位单双源机架式NAS网络存储(TS-431XU升级版)

威联通(QNAP)TS-432XU-RP四核CPU内建 2个10GbE SFP+ 四盘位单双源机架式NAS网络存储(TS-431XU升级版)

6530元起

威联通(QNAP)TS-551 双核2.0GHzCPU 五盘位NAS网络存储 AES-NI 加密 4K影片转档 (内含SSD固态硬盘)

威联通(QNAP)TS-551 双核2.0GHzCPU 五盘位NAS网络存储 AES-NI 加密 4K影片转档 (内含SSD固态硬盘)

2029元起

威联通(QNAP)TS-432XU四核CPU内建 2个10GbE SFP+ 四盘位单电源机架式NAS网络存储器(TS-431XU升级版)

威联通(QNAP)TS-432XU四核CPU内建 2个10GbE SFP+ 四盘位单电源机架式NAS网络存储器(TS-431XU升级版)

4680元起

威联通(QNAP)TS-453BU-RP 4G内存 双电源企业级四盘机架式网络存储服务器NAS 含导轨(无内置硬盘)

威联通(QNAP)TS-453BU-RP 4G内存 双电源企业级四盘机架式网络存储服务器NAS 含导轨(无内置硬盘)

14230元起

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器

2250元起

威联通(QNAP)TS-832XU-4G内存四核CPU八盘位单电源机架式NAS磁盘阵列网络存储器(TS-831XU升级版)

威联通(QNAP)TS-832XU-4G内存四核CPU八盘位单电源机架式NAS磁盘阵列网络存储器(TS-831XU升级版)

6510元起

QNAP 威联通 TS-832X-2G八盘位NAS网络存储器

QNAP 威联通 TS-832X-2G八盘位NAS网络存储器

4960元起

Synology 群晖 DS218play 2盘位NAS网络存储服务器

Synology 群晖 DS218play 2盘位NAS网络存储服务器

1530元起

Synology 群晖 DS418play 4盘位NAS网络存储服务器

Synology 群晖 DS418play 4盘位NAS网络存储服务器

3150元起

QNAP 威联通 TS-551 五盘位网络存储器

QNAP 威联通 TS-551 五盘位网络存储器

1799元起

QNAP 威联通 TS-251+ NAS网络存储器

QNAP 威联通 TS-251+ NAS网络存储器

1808.89元起

Synology 群晖 DS718+ 2盘位NAS网络存储服务器

Synology 群晖 DS718+ 2盘位NAS网络存储服务器

3400元起

威联通(QNAP)TS-1232XU 四核CPU单电源机架式12盘位NAS磁盘阵列网络存储器 私有云(TS-1231XU升级版)

威联通(QNAP)TS-1232XU 四核CPU单电源机架式12盘位NAS磁盘阵列网络存储器 私有云(TS-1231XU升级版)

9260元起
20评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
258
扫一下,分享更方便,购买更轻松