win11 docker 安装黑群晖 群晖docker安装nextcloud

文章目录

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

先展(zhuang)示(Bi)成果

win11 docker 安装黑群晖 群晖docker安装nextcloud_docker

系统环境

本文参考: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是否安装成功 $ docker info #如果已经启动 docker,会输出全局信息 $ docker images #查看已安装镜像 $ docker ps -a #已启动容器
#查看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
$ 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
$ 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
$ cd ~ $ docker pull wonderfall/nextcloud $ docker pull mariadb:10 $ vi docker-compose.yml
$ 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
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
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-compose up -d Creating nextcloud_db ... done Creating nextcloud_web ... done
$ docker-compose up -d Creating nextcloud_db ... done Creating nextcloud_web ... done

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

$ docker ps -a // 可以看到容器已经起来 $ docker logs nextcloud_db // 查看数据库配置是否完成 $ docker logs nextcloud_web // 查看 nextcloud 是否配置完成
$ docker ps -a // 可以看到容器已经起来 $ docker logs nextcloud_db // 查看数据库配置是否完成 $ docker logs nextcloud_web // 查看 nextcloud 是否配置完成
$ 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
$ pip install --upgrade setuptools
$ pip install --upgrade setuptools

测试nextcloud页面

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

$ yum install httpie $ http localhost:8888
$ yum install httpie $ http localhost:8888
$ yum install httpie $ http localhost:8888

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

安装httpie可能遇到的问题

运行:

$ sudo yum install httpie
$ sudo yum install httpie
$ sudo yum install httpie

有错误提示:执行↓

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

执行:

$ http localhost:8888
$ http localhost:8888
$ 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
$ pip install --ignore-installed six
$ pip install --ignore-installed six

添加域名和ssl证书

原文链接:https://blog.51cto.com/u_16213597/8275784

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享