nextcloud————nas系统一步到位?加上docker容器!数据库赋能高速响应(划掉

这是一个图片233

nextcloud x 集群?

不不不,这边只介绍单机配置(

环境准备

  1. docker

建议通过软件包管理器(apt/yum)安装,需要添加docker官方源/镜像源
这样便于更新

为了性能考虑,可使用mysql作为数据库服务器

一步一步按照命令走(新手建议,毕竟是经验233

##以下为mysql安装过程
官方文档

1.环境变量(提供参数

名称用途默认参数(本文档)参数建议
docker_mysql_version指定mysql版本5.9
docker_mysql_port指定开放端口3306若暴露公网建议修改
docker_mysql_container_name容器名mysql
docker_mysql_container_root_password数据库root密码passwdforrooot建议修改
docker_mysql_container_user_name数据库用户名称user建议修改
docker_mysql_container_user_password数据库用户密码passwdforuser建议修改
docker_mysql_container_database新建数据库名称nextcloud

mysql8.0及更新需配合php相关插件升级/修改数据库密码方式为native,以下提供一个实例,进入容器并登录mysql,命令行键入类似以下命令

ALTER USER ‘nextcloud‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘new_password‘;

命令形式


export docker_mysql_version = 5.7
export docker_mysql_port = 3306
export docker_mysql_container_name = mysql
export docker_mysql_container_root_password = passwdforrooot 
export docker_mysql_container_user_name = user
export docker_mysql_container_user_password = passwdforuser
export docker_mysql_container_database = nextcloud 

.env形式(环境变量文件,便于部署/保密,与命令形式二选一)

docker_mysql_version = 5.7
docker_mysql_port = 3306
docker_mysql_container_name = mysql
docker_mysql_container_root_password = passwdforrooot 
docker_mysql_container_user_name = user
docker_mysql_container_user_password = passwdforuser
export docker_mysql_container_database = nextcloud 

2.docker命令

docker run \
--name $docker_mysql_container_name \ 
-e MYSQL_ROOT_PASSWORD=$docker_mysql_container_root_password \
-e MYSQL_DATABASE=$docker_mysql_container_database \
-e MYSQL_USER=$docker_mysql_container_user_name \
-e MYSQL_PASSWORD=$docker_mysql_container_user_password \
-p $docker_mysql_port:3306 \
--restart=on-failure:5 \
mysql:$docker_mysql_version

##以下为nextcloud容器安装

1.环境变量

名称用途默认参数(本文档)参数建议
docker_nextcloud_volume1数据挂载卷~/nextcloud按需
export docker_nextcloud_volume1=~/nextcloud

2.docker命令

docker run -d \
-v $docker_nextcloud_volume1:/var/www/html \
--link $docker_mysql_container_name:mysql
nextcloud

若不使用mysql,请去除

--link $docker_mysql_container_name:mysql