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'参数中按照格式配置被信任的域名即可

相关推荐
lichenyang4532 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4532 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4532 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4532 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson7 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy7 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭7 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩8 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵9 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1119 天前
LM Studio Docker 部署——本地大模型一键启动
docker