入门小白,使用ubuntu,使用docker或者docker-compose搭建家庭个人网盘nextcloud,外网通过IPV6域名访问。第一篇
本文的需求背景
- 如果你有多余的机械硬盘,想要备份 照片
 - 如果你有多余的老旧笔记本 当服务器,或者其他机器也可以
 - 如果你还想 外网能够访问 家庭网络
 - 你不考虑NAS的情况下
 - 既不想买 腾讯或者阿里云服务器,又不想买域名的
 
而且我的意图是,我的硬盘里有资料了,只是想把硬盘作为挂载的工具放到nextcloud
如果不想折腾的,嗯,到了这一步,你和我说你不想折腾
 
如果不想麻烦的,嗯,还是上NAS。 虽然我没用过
技能要求或者工具
- 需要对linux 有一定的操作水平,文章中使用 ubuntu桌面版。就是有图形界面的哈
 - 能够基础使用docker,docker-compose
 - 能够关闭ipv6防火墙功能的 路由器
 
使用到的软件
- 个人网盘: nextcloud
 - 容器: docker
 - 免费域名解析: ddns-go
 - 动态dns: dynv6 ,官网: https://dynv6.com
 
由于 这几款软件都是 开源软件,所以并不需要收费哈
第一步,docker
针对自己的操作系统,安装 docker ,以及 docker-compose
 这一步 可以百度解决
第二步,安装nextcloud
docker 方式
参考文档: https://www.cnblogs.com/xwgli/p/16512462.html
 内容分为几步:
-  
安装redis,用于缓存 (参考上面文档的安装命令)
 -  
安装mysql,用于存储数据(参考上面文档的安装命令)
下面的mysql配置项,填入的是安装mysql时的内容
对不住,照片用的其他兄弟的哈 -  
安装nextcloud
 
docker run -d -p 8080:80 \
--restart=always \
-v /home/nextcloud/html:/var/www/html \
--link nextcloud-mysql:mysql \
--link nextcloud-redis:redis \
--name nextcloud nextcloud:latest
 
解释下命令:
 -d 后台启动
 -p 端口映射,将docker 80端口映射到 宿主机的9090端口
 -v 将docker /var/www/html 目录映射到 宿主机的 /home/nextcloud/html
因为nextcloud再docker 是安装到 /var/www/html 目录下的,那么你以后往网盘上传东西的时候,数据也都在这个目录下。
所以得把这个 目录映射出来,否则,你重新创建container后,数据是没了的
 
–link 链接 MySQL 和 Redis 到 nextcloud 容器,使用别名访问
注意: nextcoud配置文件 可以暂时先不修改
此方法适用于docker启动, 比较方便快捷
docker compose方式
为啥要使用docker compose方式呢,因为配置文件的方式,比较好记,也比较好修改。
 基于前面的参考文档,redis 和mysql 不变,当然 你也可以换个方式安装。
 我是为了 学习下 docker compose 并且要用于工作的
找个目录, 创建 docker-compose.yml 配置文件
services:
  app:
    image: nextcloud #使用的镜像名
    restart: always
    ports:
      - 9090:80	#端口
    networks:
      - nextcloud_netbridge	#使用的网络方式
    external_links:		# 关联的外部容器应用。这里就是前面创建好的 mysql 和 redis
      - nextcloud-mysql:mysql
      - nextcloud-redis:redis
    volumes:			# 映射主机的路径到 docker容器内
      - /home/xxxxx/nextcloud/html:/var/www/html
      - /mnt/testmount:/mnt/testmount2
    environment:
      - MYSQL_ROOT_PASSWORD=xxx
      - MYSQL_DATABASE=nextcloud
    privileged: true	# 给nextcloud root权限
    #devices:
    #  - "/dev/sdb1:/dev/xvda:rwm"
# 网络方式
networks:		
  nextcloud_netbridge:
    driver: bridge
 
配置完成后,执行
docker-compose up -d
 
如果后续这个配置文件不改动,那么不要使用 up -d 启动
 尽量使用下面的命令
docker-compose restart
 
注意:
 如果配置文件改动,则需要使用 up -d 启动,会重新创建container,你容器里修改的内容将会丢失
 采用 restart 方式,则只是重启 容器里的服务
启动nextcloud
ip地址查看,找到你的wifi网卡或者有线网卡
ip addr
或者
ifconfig
 
接着浏览器输入: 你的ip地址:8080
这样, 搭建nextcloud 就完成了