开源的云盘软件很多,可是想要快速搭建云盘还是有很多麻烦的,这次我用syncloud这个开源的服务器系统就可以快速搭建好私人云盘和syncthing同步服务和一些其他的服务,支持安装在很多的设备上。
这是syncloud的网址:syncloud,上面有详细介绍。
1.选择要安装的设备:
syncloud支持的设备非常多,我这次主要是试一试功能,我以前曾经在树莓派上安装过,这次就用vmware虚拟机的Linux中的docker进行快速安装。
https://github.com/syncloud/platform/wiki 这是它支持设备的地址,从这里下载所安装的对应设备的镜像
这是它所支持的设备的列表,包括树莓派和一些其他的开发板,还有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简易安装](https://i-blog.csdnimg.cn/blog_migrate/a1f8e6bddfe82edc5fadccacdb4f3433.jpeg)
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回,花了两天才弄好这个问题,也试了很多其他方法,但是好在总算成功了,引用我最近在看的美剧的一句台词,“解决问题的途径,要么是拼命钻研,要么就被逼疯”