我是靠谱客的博主 难过电脑,最近开发中收集的这篇文章主要介绍docker安装Nextcloud私有云盘1 nextcoud简介2 docker方式安装,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 nextcoud简介

官方网站:https://nextcloud.com/
github地址:https://github.com/nextcloud
Nextcloud,所有数据的安全之家!根据您的需要,从任何设备访问和共享您的文件,日历,联系人,邮件等。

Nextcloud是灵活的开源文件同步和共享解决方案。Nextcloud包括在Linux上运行的Nextcloud服务器,用于Microsoft Windows,macOS和Linux的客户端应用程序,以及用于Android和Apple iOS操作系统的移动客户端。

nextcloud功能:

  • 访问您的数据您可以将文件,联系人,日历等存储在您选择的服务器上。
  • 同步您的数据您可以在设备之间保持文件,联系人,日历和更多内容的同步。
  • 通过让其他人访问您希望他们查看或与之协作的内容来共享您的数据。
  • 可扩展的数十个应用程序 …如日历,联系人,邮件以及您可以在我们的App Store中发现的所有应用程序
  • 安全性与我们的加密机制,HackerOne赏金计划和双因素身份验证。

获取Nextcloud:

  • 只需通过我们的网站(https://nextcloud.com/signup/)或直接通过应用程序注册即可,5G免费空间。
  • 在您自己的硬件上或使用我们的一个即用型设备自行安装服务器。(下载地址:https://nextcloud.com/install/#instructions-server)
  • 购买一款很棒的预装nextcloud的设备
  • 查找为您或您的公司托管Nextcloud 的服务提供商

2 docker方式安装

2.1 安装说明

github示例:https://github.com/nextcloud/docker
官方dockerhub镜像:https://hub.docker.com/_/nextcloud

镜像版本选择

此镜像旨在用于微服务环境。您可以选择以下2种版本的镜像。

  • 第一个选择是apache版本,包含完整的Nextcloud安装,包括apache Web服务器。它的设计易于使用,可以让您快速运行。这也是latest未进一步指定的标记和版本标记的默认值。
  • 第二个选择是fpm容器。它基于php-fpm镜像,并运行一个fastCGI-Process,为您的Nextcloud页面提供服务。要使用此镜像,必须将其与可以将http请求代理到容器的FastCGI端口的任何Web服务器结合使用。

使用外部数据库

默认情况下,此容器使用SQLite进行数据存储,但Nextcloud设置向导(首次运行时出现)允许连接到现有的MySQL / MariaDB或PostgreSQL数据库。您也可以链接数据库容器,例如–link my-mysql:mysql,然后mysql在安装时用作数据库主机。更多信息在docker-compose部分。

持久化数据

Nextcloud安装以及数据库之外的所有数据(文件上载等)都存储在未命名的docker卷中/var/www/html。docker守护程序将该数据存储在docker目录中/var/lib/docker/volumes/…。这意味着即使容器崩溃,停止或删除,您的数据也会被保存。

2.2 安装docker

本文基于centos7以docker方式安装nextcloud。

首先安装docker

#安装依赖包:
yum install -y yum-utils 
device-mapper-persistent-data 
lvm2
#配置阿里云yum源:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker-ce:
yum install –y docker-ce
systemctl start docker && systemctl enable docker

安装docker-compose

yum install -y epel-release docker-compose

2.3 安装apache版本

此版本将使用apache镜像并添加mariaDB容器。卷设置为保持数据持久性。此设置不提供ssl加密,旨在在代理后面运行。

这里使用docker-compose运行镜像,获得全功能和功能设置的最简单方法是使用docker-compose文件。

创建docker-compose.yml配置文件:

注意设置变量MYSQL_ROOT_PASSWORD和MYSQL_PASSWORD。

[root@willcentos ~]# vim docker-compose.yml 
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
restart: always

运行容器

docker-compose up -d

查看容器运行状态
运行了2个容器,nextcloud容器和mariadb数据库容器。

# docker ps -a
221f3d81ffb8
nextcloud
"/entrypoint.sh apac…"
6 days ago
Up 6 days
0.0.0.0:8080->80/tcp
apache_app_1
26dc87c71450
mariadb
"docker-entrypoint.s…"
6 days ago
Up 6 days
3306/tcp
apache_db_1

查看拉取的容器镜像

# docker images
REPOSITORY
TAG
IMAGE ID
CREATED
SIZE
nextcloud
fpm
ad7ea019f99b
2 weeks ago
587MB
nextcloud
latest
ace08abb9937
2 weeks ago
598MB
mariadb
latest
e93652b8b80d
2 weeks ago
368MB

访问nextcloud ui

现在您可以从主机系统访问位于http://47.105.182.223:8080/的 Nextcloud 。

用户数据存储目录:
容器内部目录被挂载到主机目录下

#docker卷路径,包含数据库和nextcloud.
# ll /var/lib/docker/volumes/
drwxr-xr-x 3 root root
4096 Mar 24 09:36 nextcloud_db
drwxr-xr-x 3 root root
4096 Mar 24 09:36 nextcloud_nextcloud
#实际的用户数据路径
# ll /var/lib/docker/volumes/nextcloud_nextcloud/_data/data/admin/files
drwxr-xr-x 2 33 tape
4096 Mar 24 10:32 Documents
-rw-r--r-- 1 33 tape 6628477 Mar 24 10:32 Nextcloud Manual.pdf
-rw-r--r-- 1 33 tape
462413 Mar 24 10:32 Nextcloud.mp4
-rw-r--r-- 1 33 tape
37042 Mar 24 10:32 Nextcloud.png
drwxr-xr-x 2 33 tape
4096 Mar 24 10:32 Photos

常用命令

#启动和停止容器
docker stop <容器名称>
docker start <容器名称>
docker restart <容器名称>
#删除容器,删除前必须停止容器
docker rm <容器名称>
#进入容器
docker exec -it <容器名称> sh
#查看容器镜像
docker images
#删除容器镜像
docker rmi <镜像名称>

2.4 安装FPM版本

要使用fpm镜像,您需要一个额外的Web服务器,它可以将http-request代理到容器的fpm-port。对于fpm连接,此容器公开端口9000.在大多数情况下,您可能希望使用另一个容器或主机作为代理。如果您使用主机,则可以直接在端口9000上寻址您的Nextcloud容器。如果您使用其他容器,请确保将它们添加到同一个docker网络(通过docker run --network …或docker-compose文件)。在这两种情况下,您都不希望将fpm端口映射到主机。

创建docker-compose.yml文件

vim docker-compose.yml

version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud:fpm
links:
- db
volumes:
- nextcloud:/var/www/html
restart: always
web:
image: nginx
ports:
- 8080:80
links:
- app
volumes:
- /nextcloud/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
volumes_from:
- app
restart: always

确保在你运行安装程序前设置变量MYSQL_ROOT_PASSWORD和MYSQL_PASSWORD。

另外修改yaml文件中的nginx.conf路径,这里改为/nextcloud/nginx/nginx.conf,

然后创建nginx.conf存放目录

mkdir -p /nextcloud/nginx && cd /nextcloud/nginx
#从github复制一份nginx.conf配置到该目录下:
curl -O
https://raw.githubusercontent.com/nextcloud/docker/master/.examples/docker-compose/with-nginx-proxy-self-signed-ssl/mariadb/fpm/web/nginx.conf

运行容器

docker-compose up -d

访问nextcloud ui
输入管理员用户密码,配置数据库使用MariaDB

登录成功,可以开始使用了

2.5 安装客户端

下载windows客户端:

可以使用nextcloud客户端将windows本地文件自动同步到nextcloud

https://nextcloud.com/install/#install-clients

安装linux客户端:

可以使用nextcloud客户端将linux本地文件同步到nextcloud

yum install -y epel-release

yum install -y nextcloud-client

linux备份命令:

nextcloudcmd -u admin -p 123456 /root/test/ http://114.116.64.152:8080

nextcloudcmd /home/ http://114.116.64.152:8080 -u admin -p 123456

最后

以上就是难过电脑为你收集整理的docker安装Nextcloud私有云盘1 nextcoud简介2 docker方式安装的全部内容,希望文章能够帮你解决docker安装Nextcloud私有云盘1 nextcoud简介2 docker方式安装所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部