Nextcloud是一个服务器端PHP应用程序,以及一个由客户端和服务器应用程序组成的生态系统,允许用户同步、共享和协作文件、联系人、日历和其他数据,并且可以安装在私有服务器上。该代码是免费和开源的,由Nextcloud GmbH和Nextcloud社区开发。
以下是Docker安装方式:
安装 MySQL
1、拉取mysql镜像
$ docker pull mysql
2、查看mysql镜像
➜ ~ docker images | grep mysql
创建持久化数据目录,表示 mysql 运行数据放在这个目录下: /home/mysql/data
$ cd www
$ mkdir mysql
$ mkdir data
3、启动容器并指定持久化目录、指定root密码、端口映射
$ docker run --privileged=true --name mysql8 \
-v /Users/xxxx/www/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 -d mysql
4、Nacicat测试连接通过即可
安装 Redis
1、同样拉取镜像
创建持久化数据目录:/home/redis/data
docker pull redis
2、查看镜像redis
docker images |grep redis
如果需要 redis 配置文件可以通过以下命令获取:
wget -P /usr/local/redis http://download.redis.io/redis-stable/redis.conf
3、启动容器
指定配置文件启动、持久化目录、密码
docker run -d --privileged=true -p 6379:6379 --name redis -v /Users/xxx/www/redis/redis.conf:/etc/redis/redis.conf -v /Users/xxx/www/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
-d 后台运行
-p 6379:6379:把容器内的6379端口映射到宿主机6379端口
-v /Users/xxx/www/redis/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中
-v /Users/xxx/www/redis/data:/data:把redis持久化的数据在宿主机内显示,做数据备份
redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
–appendonly yes:redis启动后数据持久化
4、redis连接测试
### 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
### 进入 Redis 控制台
redis-cli
### 添加一个变量为 key 为 name , value 为 bella 的内容
> set name bella
### 查看 key 为 name 的 value 值
> get name
### 或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it redis redis-cli
NextCloud安装
1、查询并下载NextCloud镜像
docker search nextcloud
docker pull nextcloud
2、查询nextcloud镜像
➜ ~ docker search nextcloud
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nextcloud A safe home for all your data 3454 [OK]
linuxserver/nextcloud A Nextcloud container, brought to you by Lin… 541
... 0
3、拉取nextcloud镜像
➜ ~ docker pull nextcloud
Using default tag: latest
latest: Pulling from library/nextcloud
latest: Pulling from library/nextcloud
e9995326b091: Downloading [=====> ] 3.57M
4、查询nextcloud镜像是否下载完成
5、查看nextcloud镜像详细信息
➜ ~ docker images |grep nextcloud
nextcloud latest c805c152803c 10 months ago 969MB
➜ ~ docker inspect c805c152803c
"Id": "sha256:c805c152803cd2efd9556755b99e97122bf51aeb5a2c3e0470a7098d205c2c0e",
"RepoTags": [
"nextcloud:latest"
"RepoDigests": [
"nextcloud@sha256:bd3406506335b6621b1eb7a3d897654ac7963e3db4b91cbea3436f159655d0ba"
"Parent": "",
"Comment": "",
"Created": "2021-12-22T12:11:13.660964245Z",
"Container": "821b536dedc6cac092fa9abeaf773d541d4067faaf2980c8c8c5d77d08d195c0",
"ContainerConfig": {
"Hostname": "821b536dedc6",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
6、创建并启动NextCloud容器
docker run -d --privileged=true -p 8088:80 --name nextcloud --restart=always -v /Users/xxx/www/nextcloud/html:/var/www/html -v /Users/xxx/www/nextcloud/apps:/var/www/html/custom_apps -v /Users/xxx/www/nextcloud/config:/var/www/html/config -v /Users/xxx/www/nextcloud/data:/var/www/html/data -v /Users/xxx/www/nextcloud/theme:/var/www/html/themes --link mysql8:mysql --link redis:redis nextcloud
# 参数解释:
# docker run:启动容器
# -d:后台启动
# --restart=always:docker重启该容器跟着重启
# --nmae nextcloud:自定义容器名称
# -p 8080:80:将服务器的80端口映射到容器的80端口
# nextcloud:latest:选择启动的镜像和版本
docker ps
docker inspect 57a357e60bec
7、访问测试
访问地址:http://0.0.0.0:8088/ 或者 http://ip:8088/ 本地部署ip为局域网ip。
设置管理员用户名与密码。指定数据库
数据库默认可不指定,使用sqllite
设置mysql访问密码,文件目录
等待安装应用完成。
1、安装完成进入主界面自定义主题
2、文件管理
3、照片管理
4、动态管理
5、添加用户组
6、创建用户并分配空间等
安装过程中的问题
无法创建或写入数据文件夹 /Users/xxx/www/nextcloud/data
下载nextcloud过程中多次超时,可以修改docker镜像
国内加速地址
1.Docker中国区官方镜像
registry.docker-cn.com
hub-mirror.c.163.com
3.ustc
docker.mirrors.ustc.edu.cn
4.中国科技大学
docker.mirrors.ustc.edu.cn
5.阿里云容器 生成自己的加速地址
登录:cr.console.aliyun.com