开源的云盘软件很多,可是想要快速搭建云盘还是有很多麻烦的,这次我用syncloud这个开源的服务器系统就可以快速搭建好私人云盘和syncthing同步服务和一些其他的服务,支持安装在很多的设备上。

这是syncloud的网址:syncloud,上面有详细介绍。


1.选择要安装的设备:

syncloud支持的设备非常多,我这次主要是试一试功能,我以前曾经在树莓派上安装过,这次就用vmware虚拟机的Linux中的docker进行快速安装。

https://github.com/syncloud/platform/wiki 这是它支持设备的地址,从这里下载所安装的对应设备的镜像

Banana Pi M1
Banana Pi M1+
Banana Pi M2
Banana Pi M3
Cubieboard
Cubieboard 2
Cubietruck
BeagleBone Black
Raspberry Pi 2 (B)
Raspberry Pi 3 (B, B+)
Raspberry Pi 4 (B)
Odroid C2
Odroid XU3
Odroid HC1
Odroid HC2
Odroid XU4
Odroid N2
Odroid U3
Tinker
Helios4
Rock64
x64 Virtual Box
x64 Linux Docker
x64 Syncloud OS

 这是它所支持的设备的列表,包括树莓派和一些其他的开发板,还有virtual box和x64的计算机好像还可以用snap安
装,我使用docker快速安装。

2.Docker快速安装Syncloud:

docker create --privileged --name syncloud -p 443:443 -p 80:80 -p 81:81 -v /storage:/opt/disk/internal syncloud/systemd-amd64 /sbin/init

docker start syncloud

#--privileged参数代表容器内可以用root权限,这个模式下甚至可以在docker中运行docker
#-v 表示挂载宿主机的目录到容器内

docker安装非常快速和方便,这上面的两行就可以搞定,默认占用443,80,81这三个端口,一定不要占用,否则会出现错误,容器的名字是syncloud

我的docker安装环境是cetnos7,执行这个命令后,不是docker报错就是启动不了,大都是selinux的锅,我只能把docker删除后重新安装,耗时就不说了,这个太浪费时间了,血的教训,最好别用centos,坑太多了!!!,要用就用Ubuntu server!!!,我这个虚拟机的cetnos很久没用了,刚打开就一堆报错,好烦,我还是直接在虚拟机里删掉吧,太坑了。                               

                关闭了所有的selinux,包括docker里的设置的selinux,但就是没用,有一次我把docker卸载之后,总算是启动了,但是就是显示不出网页,也没有日志,什么都没有,再次崩溃。

我为了不浪费时间,只能重装Ubuntu server 16.04,然后重新安装docker了,安装16.04也有一个坑,一定要先选英语,然后再选择中文,否则会出错,网上说UEFI模式下正常安装中文版,在传统BIOS模式下,第一步选默认英文,后面选中文也可以安装中文版。

详情看这里https://blog.csdn.net/fly1574/article/details/93798370

随便说一下,如果在新建虚拟机的指定安装镜像的iso系统文件,如果被vmware识别出来,就可以进行简易快速安装

ubuntu 16.04j简易安装
vmware Ubuntu 16.04简易安装图片

3.Ubuntu安装docker,并创建Synlcoud容器

1.先更新一下apt软件索引,Ubuntu16.04可能有点旧了,可能已经停止更新了,但是我的电脑里只有Ubuntu 16.04系统镜像

sudo apt-get install update

2.安装docker:

sudo apt-get install docker-engine

3.安装docker的Daocloud镜像加速服务:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

4.启动docker服务:

sudo service docker start

5.验证docker安装,运行hello world,如果打印出hello world,则表示docker安装成功可以使用了。

sudo docker run hello-world

6.开始创建Syncloud的容器并拉取镜像,亲测就算有了加速服务,拉取300MB大小的镜像我也差不多花了半个小时。

拉取镜像

 如果拉取镜像不成功的话,多试几次就可以了

7.启动syncloud的容器

docker start syncloud

8.查看正在运行的docker镜像

docker ps

 9.访问宿主机的ip的81或80端口地址,虚拟机的ip选择桥接模式,不然后面会出错的。

 激活设备要在syncloud注册一个账号,这个账号会分配一个域名来访问你的设备,注册地址:https://www.syncloud.it/register.html,填好邮箱和密码就可以注册了,device credentials填写的是稍后安装好之后登录的用户名和密码。

激活好之后,就会跳转到https链接,因为使用了自签名的证书就会出现这样的页面,只要点击高级>继续前往就行了。

填入激活页面的用户名和密码,不是在syncloud注册的账号。

这些就是syncloud的可以安装的应用大全,可以安装的东西很多,我这里就安装syncthing当做同步网盘。

 

 

 点击之后,点击install进行安装

点击ok之后,确认安装,之后就是一段漫长的等待。。。。。

安装好了之后,点击open就可以打开syncthing了。

但是,这里就出现问题了,由于是分配的域名,docker默认使用的是创建的docker0网桥,如果直接访问的话是访问不到的也打不开页面,我查了很多的docker资料,发现docker有五种网络模式,默认使用bridge模式,也就是通过安装时的docker0网桥来实现容器和宿主机的网络通信,这样就通过域名访问不到了。

4.解决方法:

删除刚刚创建的syncloud容器,重新创建syncloud容器,指定--net=host参数,这样docker就会和宿主机公用一个ip地址,这样就解决问题了。

docker create --privileged --net=host --name syncloud -p 443:443 -p 80:80 -p 81:81 -v /storage:/opt/disk/internal syncloud/systemd-amd64 /sbin/init

这样也会出现一个警告,警告的意思就是端口映射不会生效,这是docker默认的网络模式,忽略就可以了,实在觉得别扭,去掉-p参数就可以了。

docker create --privileged --net=host --name syncloud -v /storage:/opt/disk/internal syncloud/systemd-amd64 /sbin/init

 这样就可以访问到了,问题就解决了。

https://www.syncloud.it/上登录之后就可以看到激活的设备的详细信息了

 

5.后记:

虽然写着容易,但是我没有写太多折腾的细节,走了多少弯路,我重装了5回,花了两天才弄好这个问题,也试了很多其他方法,但是好在总算成功了,引用我最近在看的美剧的一句台词,“解决问题的途径,要么是拼命钻研,要么就被逼疯”

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐