0.前言
Docker版的NextCloud中自带有SQLite,但是官方不推荐用在有同步客户端的环境,因此我选择了使用MariaDB。
这里我给每个容器都配了一个独立IP
1.准备工作
首先是将两个镜像Pull下来
#MariaDB docker pull mariadb #NextCloud docker pull nextcloud
创建Macvlan
#ens18请换成你的网卡,开启网卡混杂模式 ip link set ens18 promisc on #创建macvlan docker network create -d macvlan --subnet=192.168.123.0/24 --gateway=192.168.123.1 -o parent=ens18 macvlan
2.部署NextCloud
这里我将一个盘挂载到了 /data,将NextCloud的数据全部存进去,可以按照自己的配置进行修改
docker run -d \ -v /data/nextcloud/nextcloud:/var/www/html \ -v /data/nextcloud/apps:/var/www/html/custom_apps \ -v /data/nextcloud/config:/var/www/html/config \ -v /data/nextcloud/data:/var/www/html/data \ -v /data/nextcloud/theme:/var/www/html/themes/ \ --network macvlan --ip 192.168.123.111 \ --restart=unless-stopped \ --name nextcloud \ nextcloud
3.部署Mairadb
同样也是给这个容器分配了一个IP
docker run -d --name mariadb \ -v /data/mysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=你的密码 \ --network macvlan --ip 192.168.123.112 \ --restart=unless-stopped \ mariadb
4.配置数据库
首先我们需要进入容器中
docker exec -it mariadb bash
进入容器后,以root身份登录进数据库
mysql -uroot -p
然后创建数据库及用户
#创建用户 CREATE USER 'nextcloud' IDENTIFIED by '你的密码'; #数据库 CREATE DATABASE IF NOT EXISTS nextcloud; #授权 GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud' IDENTIFIED BY '你的密码'; #检查数据库 show databases;
5.NextCloud配置
按下图填写,完成

只要没报错,等待其完成即可
0 条评论