• 使用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/ 下,即使容器损坏或被删除也不会消失,可以在这里找到。
    编写本文时所有命令都是靠回忆写下的,但愿没有差错……

  • 相关阅读:
    Git命令大全
    window系统查看端口被哪个进程占用了
    字体大小自适应纯css解决方案
    CSS3的rem设置字体大小
    javascript同名变量
    西部数码云服务器手记
    十年,站酷已成设计论坛霸主,博客园却成无兵之将
    PHP的性能大坑--strtotime函数
    csv表格处理(上)-- JS 与 PHP 协作导入导出
    致互联网--那些我浅尝则止的昙花
  • 原文地址:https://www.cnblogs.com/you-siki/p/Docker-NextCloud-MySQL.html
Copyright © 2020-2023  润新知