Docker安装私有云盘NextCloud过程记录(2)

设置反向代理(这里应该映射到本机端口或者使用socket,因为docker与宿主机是可以通信的,用了docker container的ip测试)⑤
* 反向代理可以直接使用127.0.0.1,这时docker容器需要绑定到宿主机端口
* 反向代理可以使用docker container 的ip (容器桥接且暴露端口)
* 反向代理可以使用套接字(性能应该是最好的)

启动测试

cd /usr/local/nginx sudo ./nginx 2、SSL签名

免费CA网站

具体请参考网站说明
另外,csr证书有效期90天,需要定期续签

# ubuntu sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install certbot sudo certbot certonly --webroot -w /var/www/html -d laurt.com -d -d cloud.laurt.com

注意:
-w /var/www/html 是项目路径,与配置相同,certbot会在这个路径上创建一个.well-known路径以便认证CA访问来确定网站拥有权
-d 域名,一定是可达的,否则不成功提示dns问题

签署成功

Docker安装私有云盘NextCloud过程记录


签署成功提示信息

签署成功后要把fullchain.pem文件和privkey.pem配置到nginx里(参考nginx配置文件的②和③)

启动测试

cd /usr/local/nginx sudo ./nginx -s reload 3、编排nextcloud 安装docker-compose

参考:
docker-compose安装地址
nextcloud镜像地址

国内用户建议使用迅雷等工具从github.com下载docker-compose

使用compose进行编排 version: '2' services: nextcloud: image: wonderfall/nextcloud links: - nextcloud-db:nextcloud-db # If using MySQL #- solr:solr # If using Nextant - redis:redis # If using Redis environment: - UID=1000 - GID=1000 - UPLOAD_MAX_SIZE=10G - APC_SHM_SIZE=128M - OPCACHE_MEM_SIZE=128 - CRON_PERIOD=15m - TZ=Europe/Berlin - ADMIN_USER=admin # Don't set to configure through browser - ADMIN_PASSWORD=admin # Don't set to configure through browser - DOMAIN=laurt.com - DB_TYPE=mysql - DB_NAME=nextcloud - DB_USER=nextcloud - DB_PASSWORD=supersecretpassword - DB_HOST=nextcloud-db volumes: - /mnt/nextcloud/data:/data - /mnt/nextcloud/config:/config - /mnt/nextcloud/apps:/apps2 - /mnt/nextcloud/themes:/nextcloud/themes expose: - 8888 # ports: # - 80:8888 # If using MySQL nextcloud-db: image: mariadb:10 volumes: - /mnt/nextcloud/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=supersecretpassword - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=supersecretpassword # If using Nextant solr: image: solr:6-alpine container_name: solr volumes: - /mnt/nextcloud/solr:/opt/solr/server/solr/mycores entrypoint: - docker-entrypoint.sh - solr-precreate - nextant # If using Redis redis: image: redis:alpine container_name: redis volumes: - /mnt/nextcloud/redis:/data

这里使用作者的镜像进行的,具体细节请参考原作者的说明
https://store.docker.com/community/images/wonderfall/nextcloud
https://github.com/Wonderfall/dockerfiles/tree/master/nextcloud
需要说明的是,我nextcloud容器暴露了8888端口,并没有映射到宿主机,这时外部是无法进行访问,一般的做法是端口映射或者使用socket

ports : - 80:8888

因为docker容器与宿主机可以通过docker0通信ip addr show docker0,其实宿主机是可以直接访问容器的(从宿主机到172.17.0.1到172.18.0.1到容器的172.18.0.5),但这么做不利于部署和迁移。

运行
与docker-compose.yml同级目录执行

sudo docker-compose up -d

Docker安装私有云盘NextCloud过程记录


使用docker-compose启动nextcloud

查看

Docker安装私有云盘NextCloud过程记录

安装桌面客户端
如果使用nextcloud的桌面client配置始终出错,我不确定原因出在哪

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f425f2597efd8ebc025132d55e084b95.html