抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

试键盘:手把手教你搭建Docker上的owncloud/nextcloud私有云

嗯,只是因为试键盘。妙控键盘二代很巴适。

准备工作

首先docker你得有吧,docker for mac 或者docker forWindows .etc

创建一个公共的网络

用于容器互联,我这里取名tos,记住噢,后面要的:

docker network create -d bridge tos

数据库一支

直接拉取最新版吧,目前是8.0.19

docker pull mysql

然后为了容器的持久化,创建一个volume

docker volume create mysql8

然后~,run起来:

docker run --name mysql8  \
    -e MYSQL_ROOT_PASSWORD=mysql  \
    -p 3306:3306  \
    --mount source=mysql8,target=/var/lib/mysql  \
    --network tos \
    -d mysql

字符串的拼接,应该看得懂。

  • –name 取名 mysql8
  • -p 3306:3306 端口映射 容器的3306与主机的3306进行映射
  • –mount 将刚刚创建的卷挂载到mysql的数据目录 这样mysql的数据都会保存在这个卷内 容器删除也还在
  • –network 加入一个网络 同一个网络内的容器可以互相访问 就相当于一个局域网了,不用敲ip噢。直接用设置的name就可以访问了。

接着对于最新的mysql我们需要进行一点点改造。登入容器。这里mysql8是上面创建的容器的名字~

docker exec -it mysql8 /bin/bash 

容器的bash内执行:

apt update && apt install -y nano

有啥要确认的就Y然后回车~

接着编辑mysql的配置文件

nano /etc/mysql/my.cnf

改下默认的加密方式(没办法这私有云的php版本太低不改不支持),追加在文件最后即可。

sql_mode= ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
default_authentication_plugin=mysql_native_password

按ctrl+x,输入Y,回车保存,重启容器,sql配置完成。

再然后,建个数据库,命令方式也好,navicat图形化也好,这里就不说了。这个数据库就取名owncloud吧,记得噢,要用。

创建owncloud容器

很简单啦,创建一个卷用于数据持久化(官方其实推荐建3个,但是我觉得吧,真没必要)

docker volume create owncloud_data

然后run吧,记得加入同一个网络噢,这样才能访问到数据库

docker run  --name owncloud -d \
    -p 9010:80 \
    -v owncloud_data://var/www/html \
    --network tos \
    owncloud

跑起来,浏览器里打开localhost:9010就可以看到了。

再然后就点击安装完成。然后就可以看到界面了。

nextcloud部分

当然这里也是很简单,毕竟步骤不都差不多么。记得创建一个数据库,我这里取名叫nextcloud,记住,要用。

创建一个数据持久化的卷:

docker volume create nextcloud_data

run一个容器出来吧~ 记得加入同一组网络噢,这里端口映射为9020

docker run  --name nextcloud \
    -v nextcloud_data:/var/www/html \
    --network tos \
    -d -p 9020:80 \
    nextcloud

然后浏览器输入localhost:9020

和owncloud差不多的填,其实也就一个数据库名不同~,接着点安装完成,就可以看到以下界面啦

嗯,我只是用来练下妙控键盘的码字速度和键程看是否适合自己,试用完毕,这键盘巴适。愉快的码字吧~

后续

最好是选择将路径细化,同时如果存储路径里面有文件,将不会被扫描,需要手动扫描,登录 nextcloud 容器终端

docker exec -it nextcloud /bin/bash
apt update
apt install sudo
sudo -u www-data php occ files:scan --all

最好是将目录细化一下,速度会快一点,按官方文档操作:https://hub.docker.com/_/nextcloud/


0条评论

发表评论