CentOS7下docker部署nextcloud
CentOS7下docker部署nextcloud

CentOS7下docker部署nextcloud

一、环境配置

配置:Linux 环境的服务器,推荐使用 CentOS7
版本:mysql 8.0.21、Nextcloud Hub II (23.0.0)
其次,要在服务器上搭建 Docker 环境并启动Docker,详细的操作参考我的上一篇文章「centos7安装docker」。

对于Docker不了解也不要紧,只要按照下面的步骤进行操作即可。docker介绍

二、安装mysql

1、搜索相关镜像文件;
docker search mysql
2、使用mysql8.0版本,先用pull命令拉去镜像文件;
docker pull centos/mysql-80-centos7
使用docker images查看已经下载的镜像文件。
3、创建容器,容器名“mysql8.0”
[root@chenke conf]# docker run --restart=unless-stopped -d --name mysql8.0 --privileged=true -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-80-centos7
指定映射目录后无法启动,最后均默认目录,启动成功。
启动数据库容器:
docker start mysql8.0

问题

上述虽然安装好了mysql,但是使用远程的Navicat连接时提示错误,不能正确连接mysql,此时需要修改按照下面说的步骤修改一下mysql的密码模式以及主机等内容才可以。
修改mysql密码以及可访问主机
  • 进入容器内部
$ docker exec -it mysql8.0 /bin/bash
  • 连接mysql
$ mysql -uroot -p
  • 使用mysql库
$ mysql> use mysql
  • 修改访问主机以及密码等,设置为所有主机可访问
$ mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
注意:mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接
  • 刷新
$ mysql> flush privileges
经过以上步骤,再次远程使用Navicat连接数据库时就可以正常连接了。

三、安装nextcloud

当你的操作系统安装好Dokcer,我们可以启动Nextcloud容器(会自动拉取镜像,注意可能下载会比较慢,你可以尝试更换源),参数含义如下:
1、搜索相关镜像文件;
docker search nextcloud
2、先用pull命令拉去镜像文件
docker pull nextcloud
3、创建容器,容器名“nextcloud”不报错即可;
-d #容器后台运行
–name nextcloud #容器名
-v /data/nextcloud:/var/www/html #将宿主机的目录/data/nextcloud挂载到容器的/var/www/html
-p 8000:80 #将宿主机的端口(此处以8000为例)映射到容器的80端口
docker run -d -p 8080:80 -v /home/nextcloud:/var/www/html --name nextcloud nextcloud

四、 访问Web端初始化

第一次使用nextcloud要通过Web端进行配置,如果你是本地虚拟机上测试的话,则需要打开对应端口,如果你使用的是腾讯云、阿里云等的云服务器,则需要配置安全组规则。
访问http://{你的服务器ip地址}:{端口},第一次访问要设置管理员用户名和密码,如果是单人使用,可以直接使用SQLite作为数据库,否则建议其他的数据库后端,这里我们就使用刚刚创建的mysql8.0,点击安装完成完成部署。
注意选择,已经部署好的mysql8.0数据库。
这里在填写信息的时候,需要填写真实IP+默认端口号,如果添加127.0.0.1或者localhost可能会报错。
出现此画面即可,安装完成。登录你的nas系统进行使用吧

发表评论