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