文章目录

  • 先展(zhuang)示(Bi)成果
  • 系统环境
  • 安装docker和docker-compose
  • 安装docker-compose
  • 部署nextcloud
  • 准备
  • 开始
  • 可能遇到的错误
  • 测试nextcloud页面
  • 安装httpie可能遇到的问题
  • 添加域名和ssl证书


先展(zhuang)示(Bi)成果

win11 docker 安装黑群晖 群晖docker安装nextcloud_系统环境

系统环境

本文参考:https://blog.wangriyu.wang/2018/05-server-nextcloud.html
系统环境为CentOS 7.3,默认用户为root
阿里云的服务器

安装docker和docker-compose

CentOS下安装Docker请参考我的另一篇博客:

#查看Docker是否安装成功
$ docker info    #如果已经启动 docker,会输出全局信息
$ docker images  #查看已安装镜像
$ docker ps -a   #已启动容器

安装docker-compose

$ yum -y install epel-release
$ yum -y install python-pip
$ pip install --upgrade --force-reinstall pip==9.0.3  #这里如果升级最新的,比如 10.0 以上的,下面安装 docker-compose 会报错
$ pip install docker-compose
$ docker-compose --version

部署nextcloud

准备

  • 需要镜像:wonderfall/nextcloud和mariadb:10
  • 主机需要安装nginx

开始

$ cd ~
$ docker pull wonderfall/nextcloud
$ docker pull mariadb:10
$ vi docker-compose.yml

粘贴以下内容

nextcloud:
  image: wonderfall/nextcloud
  container_name: nextcloud_web
  links:
    - nextcloud-db:nextcloud-db
  environment:
    - UID=1000
    - GID=1000
    - UPLOAD_MAX_SIZE=5G
    - APC_SHM_SIZE=128M
    - OPCACHE_MEM_SIZE=128
    - CRON_PERIOD=15m
    - TZ=Aisa/Shanghai
    - ADMIN_USER=#登录账号
    - ADMIN_PASSWORD=#登录密码
    - DOMAIN=localhost
    - DB_TYPE=mysql
    - DB_NAME=nextcloud
    - DB_USER=nextcloud
    - DB_PASSWORD=#数据库 nextcloud 账号密码
    - DB_HOST=nextcloud-db
  volumes:
    # 文件会放在宿主机的 `/docker/nextcloud` 目录,如果不存在会自动创建
    - /docker/nextcloud/data:/data
    - /docker/nextcloud/config:/config
    - /docker/nextcloud/apps:/apps2
    - /docker/nextcloud/themes:/nextcloud/themes
  expose:
    - 8888
  ports:
    # 宿主机端口:镜像端口
    - 8888:8888/tcp
  restart: always

nextcloud-db:
  image: mariadb:10
  container_name: nextcloud_db
  volumes:
    # 数据库文件会放在宿主机的 `/docker/nextcloud/db` 目录,如果不存在会自动创建
    - /docker/nextcloud/db:/var/lib/mysql
  environment:
    - MYSQL_ROOT_PASSWORD=#数据库 root 密码
    - MYSQL_DATABASE=nextcloud
    - MYSQL_USER=nextcloud
    - MYSQL_PASSWORD=#数据库 nextcloud 账号密码
  restart: always

编辑完后保存退出,在docker-compose.yml同级目录执行:

$ docker-compose up -d
Creating nextcloud_db ... done
Creating nextcloud_web ... done

这里要注意一下,相应容器启动后还有一段配置时间,大概几分钟到十几分钟不等。我刚开始弄的时候,起完容器就去看网页能否打开,结果打不开,以为是打开的方式不对,直到后面看了一下日志才发现需要等…

$ docker ps -a // 可以看到容器已经起来
$ docker logs nextcloud_db // 查看数据库配置是否完成
$ docker logs nextcloud_web // 查看 nextcloud 是否配置完成

可能遇到的错误

错误
Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-qgLckU/pycparser/

解决:

$ pip install --upgrade setuptools

测试nextcloud页面

这里推荐安装httpie工具,方便测试http,如果nextcloud服务正常的话,应该会输出一个登录页面

$ yum install httpie
$ http localhost:8888

现在nextcloud网盘就搭建好了,通过ip:8888就可以访问网盘页面了,下一步添加域名解析

安装httpie可能遇到的问题

运行:

$ sudo yum install httpie

有错误提示:执行↓

$ pip uninstall urllib3
$ pip uninstall requests
$ pip uninstall chardet

$ pip install --upgrade --force-reinstall 'requests==2.6.0' urllib3

执行:

$ http localhost:8888

提示:DEPRECATION: Uninstalling a distutils installed project (requests) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
解决办法执行:

$ pip install --ignore-installed six

添加域名和ssl证书