两年前在我阿里云服务器上手动搭建过nextcloud 18.*版本的相关依赖环境。当时废了不少精力,服务器带宽5M,下载不限速用起来爽的一匹。后来redis惨遭挖矿病毒入侵,清理病毒的时候把服务器被搞得乱七八糟。最近打算试试最新版的nextcloud于是使用docker安装方式,并记录一下。
1 安装docker与数据库(MySQL或其他)
自行搜索…
我这里用的是MySQL。数据库部署好后设置用户名密码,创建一个名为“nextcloud”的数据库。等待nextcloud部署的最后一步(即第5步),配置这个数据库连接信息以及指定这个nextcloud数据库进行初始化。
2 安装nextcloud
从docker镜像仓库中拉取或者更新nextcloud镜像
docker pull nextcloud
1 | Using default tag: latest |
3 开放8000
端口
这里我服务器80端口被nginx占用,所以用8000端口映射docker的80端口
开放
8000
端口号 , 注意:我使用的是centos7.3的版本,防火墙是firewall
1 | firewall-cmd --zone=public --add-port=8000/tcp --permanent |
重启防火墙,运行命令:
1 | firewall-cmd --reload |
查看端口号是否开启,运行命令:
1 | firewall-cmd --query-port=8000/tcp |
如果是阿里云的服务器 , 还需进入服务器管理控制台,给防火墙
8000
端口号添加规则
下面效果图是之前邮件端口截的,将就看。。。
4 运行nextcloud容器
docker run -d --restart=always --name nextcloud -p 8000:80 nextcloud
参数:
- docker run :启动容器
- -d:后台运行
- –restart=always:Docker 重启的时候重启容器
- –name nextcloud:容器命名
- -p 8000:80:将服务器的
8000
端口映射到容器的80
端口 - nextcloud:要启动的镜像名称
这里我服务器80端口被nginx占用,所以用8000端口映射docker的80端口,运行命令出现一串字符串则成功。
记得服务器防火墙以及阿里云等服务商的安全组必须设置开放8000
端口
1 | 9b272c1885777c370a14a5e0cb78d3632bc7f8f8c66a7c97b2771dd75ab870cf |
docker ps
查看运行的容器
1 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
5 访问nextcloud页面,配置账号/数据库信息,自动初始化
访问路径:http://服务器IP:8000
- 设置管理员用户名与密码。
- 点击存储与数据库,选择切换为MySQL的配置项,并设置之前的数据库信息。
- 点击 安装完成 后自动进行初始化安装,如果是之前安装过nextcloud则会自动更新版本与相应组件。