nextcloud x 集群?
不不不,这边只介绍单机配置(
环境准备
- 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