最近在体验UNRAID的Docker,因为这是第一次使用Docker,所以很多东西并不了解,逐渐摸索中,跟着B站第一催眠UP:司波图的视频在学习。

之前在群晖里面我选择的跨系统文件共享的方式是在套件中心的webDAV Server,可以说设置简单,使用体验非常OK。现在在UNRAID里面我了解到的可以使用WebDAV的途径就是通过NextCloud,安装体验之后觉得还行,但是遇到了一个问题:没法在外网访问,会报400错误。

可以看到官方其实知道这里可能会有人有问题,已经预留了相关文档的地址。Trusted domains这篇文章里面已经明确的告诉了用户该如何添加Trusted domains

但是这里面并没有提到这个文件的路径,我最先想到的方法就是:进入到这个Docker镜像的Console里面搜索一下这个文件,但是由于我是个linux刚入门的用户,只知道whereis,但是Console里面没有这个指令,一度让我很迷茫,我就去网上寻找解决办法,最终我不仅找到了这个文件的位置,还学会了另一个在linux里面寻找文件的命令。方法来自: nextcloud help

具体方法如下:

在Docker的Console里面操作:

  1. 在Console中进入到config路径:
root@ccdc0cc6cd92:/# ls
app  config  defaults  docker-mods  home  lib      media  opt   root  sbin  sys  usr
bin  data    dev       etc          init  libexec  mnt    proc  run   srv   tmp  var
root@ccdc0cc6cd92:/# cd config
root@ccdc0cc6cd92:/config# ls
crontabs  keys  log  nginx  php  www
root@ccdc0cc6cd92:/config# 

因为我们在安装这个镜像的时候就可以选择是否映射/config路径,可以想到配置文件肯定是在这个路径下的,那么我们直接进去这个路径,但是进去之后就有点懵逼,一个一个路径翻看实在是低效。

  1. 搜索文件config.php
root@ccdc0cc6cd92:/# ls
app  config  defaults  docker-mods  home  lib      media  opt   root  sbin  sys  usr
bin  data    dev       etc          init  libexec  mnt    proc  run   srv   tmp  var
root@ccdc0cc6cd92:/# cd config
root@ccdc0cc6cd92:/config# ls
crontabs  keys  log  nginx  php  www
root@ccdc0cc6cd92:/config# 

这里使用find命令搜索到了两个文件,然后就可以使用cat分别查看文件内容,就可以确定我们是要修改哪个文件了。

需要修改的是./www/nextcloud/config/config.php,直接用vi ./www/nextcloud/config/config.php

  1. 按照手册修改文件:

直接按照手册里面的示例修改文件保存退出就行。(如果在安装时候映射了非443端口的,要在域名后面添加端口号)

'trusted_domains' =>
  array (
   0 => 'localhost',
   1 => 'server1.example.com',
   2 => '192.168.1.50',
   3 => '[fe80::1:50]',
),

such as:
1 => 'server1.example.com:11111'

保存并退出的方法应该就不用介绍了。

在UNRAID的Console里面操作:

这个方法使用于在安装镜像时候已经把/config目录映射到主文件系统下的情况:

  1. 在Console中进入到config路径:
root@HulkNAS:~# cd /mnt/user/appdata/nextcloud/
root@HulkNAS:/mnt/user/appdata/nextcloud# ls
crontabs/  keys/  log/  nginx/  php/  www/
root@HulkNAS:/mnt/user/appdata/nextcloud# find . -name "config.php"

因为我们在安装这个镜像的时候就可以选择是否映射/config路径,可以想到配置文件肯定是在这个路径下的,那么我们直接进去这个路径,但是进去之后就有点懵逼,一个一个路径翻看实在是低效。

  1. 搜索文件config.php
root@HulkNAS:~# cd /mnt/user/appdata/nextcloud/
root@HulkNAS:/mnt/user/appdata/nextcloud# ls
crontabs/  keys/  log/  nginx/  php/  www/
root@HulkNAS:/mnt/user/appdata/nextcloud# 

这里使用find命令搜索到了两个文件,然后就可以使用cat分别查看文件内容,就可以确定我们是要修改哪个文件了。

需要修改的是./www/nextcloud/config/config.php,直接用vi ./www/nextcloud/config/config.php

  1. 按照手册修改文件:

直接按照手册里面的示例修改文件保存退出就行。(如果在安装时候映射了非443端口的,要在域名后面添加端口号)

'trusted_domains' =>
  array (
   0 => 'localhost',
   1 => 'server1.example.com',
   2 => '192.168.1.50',
   3 => '[fe80::1:50]',
),

such as:
1 => 'server1.example.com:11111'

这样修改后就把我们的域名添加到Nextcloud的首先列表里面了,就可以在外网访问了。

参考视频:

8个超实用的Docker镜像部署——司波图 UNRAID 陪玩教程 03

Docker速通教程(全平台可参考)——司波图 UNRAID 陪玩教程 02

最后修改:2020 年 10 月 10 日
如果觉得我的文章对你有用,请随意赞赏