• 使用Docker部署NextCloud+MySQL构建私有云盘


    本文记录了我在CoreOS服务器上利用Docker部署NextCloud+MySQL实现私有云盘的过程。

    环境

    服务器:
    阿里云学生机
    CoreOS

    本地:
    MacBook Pro
    macOS 10.14.3

    方法

    大体方案就是在Docker中分别建立两个容器,一个是MySQL,一个是NextCloud,将MySQL link到NextCloud上作为数据库来使用。

    创建MySQL容器

    docker run --name=nextcloud_db -e MYSQL_ROOT_PASSWORD=passwd -d mysql:5
    

    这里使用mysql:5而非mysql:latest是因为,最新版本的MySQL好像更改了默认的加密方法,和NextCloud配合使用会产生一些错误。
    我索性就采用了低版本的MySQL(参考了一些修改加密方法的博客但是没有效果啊 TAT)。
    其中passwd部分请替换为你想使用的密码。

    docker exec -it nextcloud_db mysql -u root -p
    passwd: ....
    mysql> CREATE DATABASE nextcloud;
    mysql> exit;
    

    这里是进入MySQL并创建一个新的数据库,命名为nextcloud(当然你可以改为自己喜欢的名字)。

    创建NextCloud容器

    docker run --name=nextcloud --link nextcloud_db:db -p 1080:80 -d nextcloud
    

    使用这一行命令创建一个NextCloud容器并且将另一个容器“链接”过来作为数据库使用,在这个容器内部其地址被映射为db(可以修改为你喜欢的名字)。
    这里我使用的就是NextCloud在Docker Hub上的官方镜像。
    并且我将NextCloud内部的80端口映射到了外部的1080端口上,所以在浏览器中访问http://your_server_ip:1080就可以看到NextCloud界面了。
    之后就参照提示在浏览器中完成设置即可。
    在这里,我让NextCloud以root账户访问MySQL数据库(当然并不推荐这么做,但是我懒得创建一个新的MySQL账户了),密码就是passwd,数据库名就是nextcloud,数据库地址就是db。

    后记

    使用MySQL是因为NextCloud推荐这么做(尤其是在使用客户端及多用户功能时),我没有学习过数据库的知识,不知道为何默认的SQLite不被推荐使用。
    NextCloud的所有文件会储存在 /var/lib/docker/volumes/nextcloud/ 下,即使容器损坏或被删除也不会消失,可以在这里找到。
    编写本文时所有命令都是靠回忆写下的,但愿没有差错……

  • 相关阅读:
    CRMEB系统开发文档
    R语言︱LDA主题模型——最优主题...
    2018前端面试及答案
    开发流程
    uitramon 安装包
    scrapy 爬取时很多重复 及日志输出
    fake-useragent插件无法正常使用的问题
    区块链共识机制(一)
    Python Twisted 之 Deferred
    区块链的三大分支:公有链、联盟链和私有链
  • 原文地址:https://www.cnblogs.com/you-siki/p/Docker-NextCloud-MySQL.html
Copyright © 2020-2023  润新知