群晖nas中使用registry搭建docker镜像私人服务器以及设置群晖远程docker服务

群晖nas中使用registry搭建docker镜像私人服务器以及设置群晖远程docker服务

折腾群晖服务器很有快感,一是因为自家群晖ds216+低功耗,24小时开机也不觉得费电,二是因为群晖系统也是linux,精简版的debian,其他linux的方案它也行的通。DIY乐趣多。

首先介绍我的开发环境:

服务器:群晖ds216+,X86的cpu,IP:192.168.1.216

开发机:联想T430笔记本,Deepin 20.1系统,安装了InteliJ IDEA 2020.2,IP:192.168.4.100

下面是操作步骤:

1.服务器:群晖套件中心下载安装docker

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jEpH4cPq-1615723658249)(https://i.loli.net/2021/03/14/GXRpbehvc6tJL8g.png)]

2.运行docker套件,下载registry镜像。

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-33ClptQS-1615723658256)(https://i.loli.net/2021/03/14/9lGai5xCESfNRzU.png)]

设置挂载的目录
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4aWH0abj-1615723658261)(https://i.loli.net/2021/03/14/1FgLTOdYsHlbUPC.png)]

为避免与DSM默认登陆冲突,修改为占用群晖5555的端口开放给局域网机器访问。
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LaKVUhGD-1615723658265)(https://i.loli.net/2021/03/14/hP4GTyQZvbwR9JK.png)]

设置完毕,启动镜像,生成为容器。
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tjh1HSkz-1615723658268)(https://i.loli.net/2021/03/14/fgyDdiFlYwLBhxO.png)]

测试一下群晖

[email protected]:~# curl http://192.168.1.216:5555/v2/_catalog                                     {"repositories":["test"]}    

上面显示test镜像是我之前测试过,实际上首次使用应为空,显示为

{
    "repositories":[]}

这就说明架设registry成功。

3.设置开发机器的docker有关设置

回到本地机器:192.168.4.100这台主机。

修改/etc/docker/daemon.json文件

sudo vi /etc/docker/daemon.json

增加”insecure-registries”: [“192.168.56.101:5000”]。我的文件修改完毕如下图:
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4FAQZLMs-1615723658273)(https://i.loli.net/2021/03/14/yoWH1MAf25GiJha.png)]

4.IDEA程序测试,可以推送镜像。

如果上面没有添加insecure-registries那一行,将会因为ip是非https而出现系统报错:

[email protected]:~# docker push 192.168.1.216:5555/test:1.0
The push refers to repository [192.168.1.216:5555/test]
Get "https://192.168.1.216:5555/v2/": http: server gave HTTP response to HTTPS client

修改了json添加了第3步的非安全源参数,重启docker,就可以顺利push镜像了。

[email protected]:~# vi /etc/docker/daemon.json
[email protected]:~# service docker restart
[email protected]:~# docker push 192.168.1.216:5555/test:1.0
The push refers to repository [192.168.1.216:5555/test]
b537eb7339bc: Pushed 
f2df42e57d5e: Pushed 
01b7eeecc774: Pushed 
c16b4f3a3f99: Pushed 
f973e3e0e07c: Pushed 
9eb82f04c782: Pushed 
1.0: digest: sha256:bce83ebf77f45d62c3e6a01ba423d87242a7371b6daada7197b4e683ceda6341 size: 1572
[email protected]:~# 

push之前先tag一个镜像,例如我把redis:5.0的镜像标记为test:1.0。

[email protected]:~# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
345c6e691070        nginx:jeecgboot     "/docker-entrypoint.…"   22 hours ago        Up 22 hours         0.0.0.0:80->80/tcp, 443/tcp         jeecg-boot-nginx
5541892ed60d        redis:5.0           "docker-entrypoint.s…"   4 days ago          Up 25 hours         0.0.0.0:6379->6379/tcp              jeecg-boot-redis
a411ade5ce87        jeecg-boot-system   "/bin/sh -c 'sleep 6…"   4 days ago          Up 25 hours         0.0.0.0:8080->8080/tcp              jeecg-boot-system
8d8aa8147812        jeecg-boot-mysql    "docker-entrypoint.s…"   4 days ago          Up 25 hours         0.0.0.0:3306->3306/tcp, 33060/tcp   jeecg-boot-mysql
[email protected]:~# docker tag redis:5.0 192.168.1.216:5555/test:1.0
[email protected]:~# docker push 192.168.1.216:5555/test:1.0
The push refers to repository [192.168.1.216:5555/test]
Get "https://192.168.1.216:5555/v2/": http: server gave HTTP response to HTTPS client

顺利push镜像,看到本机的redis:5.0被添加了192.168.1.216…的标记。
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EvyrLz5F-1615723658275)(https://i.loli.net/2021/03/14/2ED4jdMQwFSspJr.png)]

5.设置群晖可以远程调用docker

5.1查找群晖docker配置文件

首先根据进程查看docker配置文件路径

[email protected]:~# ps -ef|grep docker
root      4877     1  0 Mar11 ?        00:03:01 /var/packages/Docker/target/usr/bin/dockerd --config-file /var/packages/Docker/etc/dockerd.json
root      4885  4877  0 Mar11 ?        00:02:15 containerd --config /var/run/docker/containerd/containerd.toml --log-level info
root      5167  4877  0 Mar11 ?        00:00:00 /usr/local/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5201 -container-ip 172.17.0.2 -container-port 5201
root      5185  4877  0 Mar11 ?        00:00:00 /usr/local/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5555 -container-ip 172.17.0.3 -container-port 5000
root      5193  4885  0 Mar11 ?        00:00:04 containerd-shim -namespace moby -workdir /volume1/@docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/cb9fff63a0497cbd6b1ddf6f7faa6e7dbb9c1b5bdec79882871bd6d5083a9aed -address /var/run/docker/containerd/containerd.sock -containerd-binary /volume1/@appstore/Docker/usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
root      5234  4885  0 Mar11 ?        00:00:04 containerd-shim -namespace moby -workdir /volume1/@docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/8231cc54a44a58fde1cd9e390483159c5373b29668da73249778d7c98c8f7eae -address /var/run/docker/containerd/containerd.sock -containerd-binary /volume1/@appstore/Docker/usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
root     18633 13420  0 23:34 pts/0    00:00:00 grep --color=auto docker

如输出所示,dockerd启动配置文件路径为–config-file那一行,vi编辑一下

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

5.2修改json文件配置

在上述json中添加如下配置:

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

完成配置文件,如我的nas中json文件内容如下:

{
    
    "data-root":"/var/packages/Docker/var/docker",
    "log-driver":"db",
    "registry-mirrors":["https://pqmwn1pe.mirror.aliyuncs.com"],
    "insecure-registries":["192.168.1.216:5555"],
    "storage-driver":"btrfs",
    "hosts": ["unix:///var/run/docker.sock", "tcp://192.168.1.216:2375"]
}

重新载入deamon,再启动docker服务。

systemctl daemon-reload

5.3测试IDEA可以连接群晖docker服务
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AUghsUak-1615723658277)(https://i.loli.net/2021/03/14/pNrfEqIg5BFGx31.png)]
在这里插入图片描述

里面运行的镜像也可以看到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vXJy2RtZ-1615723658278)(https://i.loli.net/2021/03/14/M6CvRl5HbkYqotn.png)]

5.3群晖服务器docker套件可以下载镜像私服

选择注册表设置自己服务器192.168.1.216:5555那一行,就能搜索到刚才push的镜像了。
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dVjHIW9h-1615723658280)(https://i.loli.net/2021/03/14/DVOYLCeynJ4WuIT.png)]

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享