Docker搭建基于Nextcloud的个人云盘/私有云盘/个人相册/家庭NAS

安装配置Docker

官方安装文档:https://docs.docker.com/engine/install/

Docker常用命令:https://blog.csdn.net/qq_43003203/article/details/139532097?spm=1001.2014.3001.5502

Docker镜像仓库配置方法和国内常用镜像仓库地址:

输入:

bash 复制代码
sudo vim /etc/docker/daemon.json

按下i键进入编辑模式,粘贴如下内容后,按ESC键退出编辑并按:wq!保存并退出

bash 复制代码
{
  "registry-mirrors": [
        "https://mirror.aliyuncs.com",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
    	"https://mirrors.huaweicloud.com/home",
    	"https://mirrors.tuna.tsinghua.edu.cn/",
    	"https://mirrors.ustc.edu.cn/",
    	"http://mirrors.163.com/",
    	"https://mirrors.cloud.tencent.com/",
    	"https://mirrors.bfsu.edu.cn/"
    ]
}

重启Docker服务

bash 复制代码
systemctl restart docker.service

部署Nextcloud

拉取Nextcloud镜像和MySQL镜像

bash 复制代码
docker pull mysql

docker pull nextcloud

运行成功后会出现如下结果

bash 复制代码
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
bash 复制代码
Status: Downloaded newer image for nextcloud:latest
docker.io/library/nextcloud:latest

创建Docker网络,允许容器之间进行安全的通信

bash 复制代码
docker network create Nextcloud-group

创建并启动容器

创建本地数据存储目录

bash 复制代码
mkdir -p /date/mysql/
mkdir -p /data/html/

启动MySQL

bash 复制代码
docker run -d --name mysql  \
-v /date/mysql:/var/lib/mysql \
-e MYSQL_USER=admin \
-e MYSQL_PASSWORD=Password \
-e MYSQL_DATABASE=nextcloud \
-e MYSQL_ROOT_PASSWORD=Password \
-p 3306:3306 \
--network Nextcloud-group \
--memory=750m \
--cpus=0.8 \
mysql

启动nextcloud

bash 复制代码
docker run -d --name nextcloud \
-v /data/html:/var/www/html \
-p 80:80 \
--network Nextcloud-group \
--memory=600m \
--cpus=0.8 \
nextcloud

注:上述启动命令如有不懂可看这篇文章即可https://blog.csdn.net/qq_43003203/article/details/139532097?spm=1001.2014.3001.5502

配置Nextcloud

浏览器打开http://服务器IP,按照如下图配置填写完成后点击"安装 "即可。

继续等待安装即可

出现如下页面即安装完成可以

PC端,移动端下载安装

https://nextcloud.com/install/

部署过程中可能遇到的问题

数据库问题

问题:点击安装按钮后页面提示如下:

bash 复制代码
Error while trying to create admin user: Failed to connect to the database: 
An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory

解决方案:

进入etc目录给my.cnf文件添加如下配置,重启MySQL服务即可。

bash 复制代码
# binary logging format - ROW
binlog_format=ROW

通过不被信任的域名访问

问题:

解决方案:

在Nextcloud的配置文件 config/www/nextcloud/config/config.php'trusted_domains'参数中按照格式配置被信任的域名即可

相关推荐
Bright166832 分钟前
centos9安装k8s集群
云原生·容器·kubernetes
!!!5252 小时前
华为云镜像加速器
docker·容器·华为云
xidianjiapei0013 小时前
Kubernetes的Ingress 资源是什么?
云原生·容器·kubernetes
sszdzq4 小时前
Docker
运维·docker·容器
dmy5 小时前
docker 快速构建开发环境
后端·docker·容器
土豆沒加6 小时前
K8S的Dashboard登录及验证
云原生·容器·kubernetes
终端行者8 小时前
kubernetes1.28部署mysql5.7主从同步,使用Nfs制作持久卷存储,适用于centos7/9操作系统,
数据库·容器·kubernetes
2401_897930068 小时前
linux系统如何配置host.docker.internal
linux·docker·eureka
亲持红叶12 小时前
open-webui安装
docker·open-webui
伪装成塔的小兵12 小时前
Windows使用docker部署fastgpt出现的一些问题
windows·docker·容器·oneapi·fastgpt