发布时间:2023-04-24 11:30
Docker部署Nextcloud私有网盘(个人心得,仅供参考)
1、系统安装
系统选择Centos 7,系统安装方法就不详细说了
2、安装Docker容器
Centos系统安装docker容器十分方便,推荐使用Docker官方的安装方式,依次执行命令
# yum install -y yum-utils device-mapper-persistent-data lvm2
# docker install -y docker
安装完毕后,设置开机启动,开启Docker服务
# systemctl start docker
# systemctl enable docker
2.2安装Nextcloud服务端、数据库
docker hub镜像仓库自带有nextcloud的镜像,可以直接拉取
# docker pull nextcloud
# docker pull mysql
2.3启动
启动数据库服务器端
docker run --name mysql -d -p 3306:3306 \\
-e MYSQL_ROOT_PASSWORD=123 \\
-e MYSQL_DATABASE=nextcloud \\
-e MYSQL_USER=tom \\
-e MYSQL_PASSWORD=123 mysql
启动Nextcloud服务器端
docker run --name nextcloud -p 80:80 -v /data/nextcloud:/var/www/html/data -d nextcloud
参数说明:
–name:设定容器名称为nextcloud
-p 80:80 :端口映射,将宿主机80端口映射到容器中的80端口
-v /data/nextcloud:/var/www/html/data将容器中项目的data目录映射到本地/data/nextcloud目录下方便配置和数据保存
-d 是以后台形式启动
2.5使用Nextcloud
设置上面所有的配置后,登陆自己的私有网盘
发现报错
排查发现是忘记关掉防火墙了,3306端口也忘记开放了
开放 80 端口对外访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent
更新防火墙规则:
firewall-cmd --reload
然后问题就解决了,Nextcloud部署成功
使用花生壳来进行内网穿透简单发布
回到docker镜像,修改nextcloud的文件,修改用于访问 Nextcloud 服务器的所有 URL
在config.php文件中的trusted_domains设置下列入白名单 。仅当用户将浏览器指向trusted_domains设置中列出的 URL 时,才允许用户登录 Nextcloud 。您可以使用 IP 地址和域名。典型的配置如下所示:
\'trusted_domains\' =>
array (
0 => \'localhost\',
1 => \'server1.example.com\',
2 => \'192.168.1.50\',
3 => \'[fe80::1:50]\',
),