• docker搭建nextcloud


    docker搭建nextcloud

    首先遭遇了以下错误的或者有其他错误的可以看看此贴
    Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [1130] Host '172.18.0.2' is not allowed to connect to this MariaDB server
    XXXXXXXXX refused connection

    环境:centos7
    首先安装启动docker:

    yum install docker
    systemctl start docker
    

    注:本人未使用docker-compose,不过不使用也不影响搭建
    拉取镜像:

    docker pull nextcloud
    

    创建容器:

    docker run -d -p 9000:80 nextcloud
    

    访问http://ip:9000(当然你也可以在创建容器的时候自定义其他端口)

    开始安装:
    此处我们选择的mariadb/mysql(注:此处我们没有用docker拉取mysql数据库,直接yum安装的)
    但是你很有可能遇到如下报错,或者一些其他的报错(来一波彩虹色的报错):

    Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [1130] Host '172.18.0.2' is not allowed to connect to this MariaDB server
    XXXXXXXXX refused connection
    

    于是你去百度(如,docker如何连接宿主机数据库),发现有不少蛤蟆皮,文章写不清楚,没一个靠谱的
    但是没关系,你遇到了我。

    宿主机首先添加以下命令:

    iptables -I INPUT -s 172.18.0.2 -p tcp --dport 3306 -j ACCEPT
    

    关于上述ip 172.18.0.2如何确定的呢,报错有可能有提示,如上述报错就有,通过对比发现,一般腾讯云就是172.18.0.2,虚拟机里面的就是172.17.0.2
    都是换汤不换药的
    因为拉取的镜像创建的容器对于宿主机来说就是其他计算机,想要连接宿主机的数据库,iptables就要添加相应规则

    然后你发现,欸他喵的还是会有错:

    正常,博主探索初期也想砸电脑。

    然后进宿主数据库,依次执行以下命令:

    grant all privileges on cloud.* to 'root'@'172.18.0.2' identified by '自定义密码,不一定是mysql的密码,123456' with grant option;
    
    flush privileges;
    

    解释一下,第一条命令是相当于设置一个情景模式,当172.18.0.2以root登录宿主机时,只能管理名为cloud的数据库(注:数据库要先在宿主机内创建好),增加安全性
    第二天命令理解为刷新就好,刷新一下生效吧

    再次造访:http://ip:9000
    数据库连接的ip填写为172.18.0.1:3306,如果你用的腾讯云,ifconfig就会发现有一个docker0,ip为172.18.0.1,那么这就好理解了,容器通过docker访问宿主机数据库

    官网下载客户端,包括linux,app,window,macOS平台的:
    https://nextcloud.com/install/#install-clients

    添加受信任的域名:
    首先进入容器:

    docker exec -it id /bin/bash
    

    (注:容器id通过docker ps -a查看)

    网上百度都会告诉你,要去修改config下面的config.php
    但是你发现用不了vim命令,百度又告诉你,分两步战略走,apt update,apt-get install vim
    然后你发现第一步战略就直接卡成翔,你又百度,docker容器apt update缓慢的原因
    哦,原来是要换源(注:这是docker容器换源):

    sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
    

    终于快到飞起了。芜湖。

    添加受信任域名截图如下,第一个ip+端口,第二个域名(完整域名,如:www.example.com,不要听有的蛤蟆皮说千万不能加www)
    有这两个就可以了,不需要重启容器,就可以用域名加端口的形式访问nextcloud了(注:不要忘写逗号,域名注意是否正确,博主习惯性的添加.com的域名,结果发现自己的域名是.wang的,很操蛋)

    部分内容参考文章https://www.cnblogs.com/haiton/p/11064727.html,就这篇还靠点普。其他的写的跟蛤蟆皮一样,不对就是蛤蟆皮。

    nextcloud开放注册-添加注册功能

    nihinumbra-nextcloud开放注册-添加注册功能

    nextcloud取消新用户的默认文件

    nihinumbra-nextcloud取消新用户的默认文件

    作者:
    除特别声明为原创博文外,均可转载,也欢迎转载,未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利,谢谢您的配合。
  • 相关阅读:
    开发金额处理BigDecimal
    Strtuts2.3.15 bug ,可以远程执行命令
    java 获取properies资源信息
    获取程序运行所在ip
    JVM虚拟机内存和String 类型深入
    数据库表结构上下文
    properties配置文件实现DBManager
    查询功能的包装类
    通过反射生成类的utils
    jdbc反射操作
  • 原文地址:https://www.cnblogs.com/sillage/p/14290121.html
Copyright © 2020-2023  润新知