使用 IRONSECUREDOC

Nextcloud Docker Compose(面向开发人员的工作原理)

查克尼特·宾
查克尼特·宾
2024年十二月16日
分享:

什么是 Docker?

Docker 是一个免费、开源的框架,可以自动化部署和扩展位于轻量级容器中的应用程序。 它将应用程序代码与所有依赖项(如库、工具和配置)打包在一个软件包中,并在任何环境中统一运行,无论是开发人员的笔记本电脑、测试服务器还是实际的生产云服务器。

-->

容器也不同于传统的虚拟机。 容器共享主机系统的[操作系统内核](https://en.wikipedia.org/wiki/Kernel_(operating_system),因此可以更高效、更快速地启动

这就是说,它定义了一个应用程序,因此,实际上,通过 Docker 镜像,它定义了应用程序的环境,而 Docker 镜像基本上是创建容器的模板。 协调工具包括用于多容器应用程序的 Docker Compose,我们共享镜像的中央存储库是 Docker Hub。

什么是 Nextcloud?

Nextcloud Docker Compose 演示了如何使用 Docker 容器为自托管云存储应用程序 Nextcloud 提供一个隔离、可移植且可扩展的环境。 这款广受欢迎的解决方案支持文件存储和共享、日历、联系人等,同时允许对数据进行全面控制。

Nextcloud Docker Compose(开发人员如何使用):图2

它确实简化了设置,因为现在 PHP 和网络服务器等依赖项都包含在一个容器中; 因此,在安装和管理 Nextcloud 时,Docker 让事情变得更加简单。 此外,这还能保证所有内容都能在不同的环境下以相同的方式运行,因此可以轻松地部署到不同的系统上。

在 Docker 中运行 Nextcloud 非常简单、模块化且可扩展。 例如,在使用 Docker Compose 的多容器设置中,您可以为 Nextcloud 数据库(例如 MySQL 或 MariaDB)、缓存(例如 Redis)以及 Nextcloud 应用程序本身运行单独的容器。 这增加了灵活性,使 Nextcloud 实例的管理和可扩展性更加容易。

Nextcloud 的功能

Nextcloud Docker 的优点是易于部署和管理。 它具有以下列出的所有主要关键功能:

  • 简化设置:安装很容易,因为 Docker 携带所有与之一起安装的依赖项,如 PHP 和网络服务器。 因此,一切都在一个容器中,以便快速、无障碍地安装和配置。
  • 便携性:Docker容器可以在不同的环境和节点之间移植。 因此,当您希望将 Nextcloud 实例从一个服务器或云环境转移到另一个服务器或云环境时,不会造成兼容性问题。
  • 隔离:每个Nextcloud容器都与主机系统和其他容器隔离开来; 在翻译过程中,还必须确保翻译内容的准确性,从而确保依赖关系和配置不会与同一台机器上的其他服务发生冲突。
  • 可扩展性:这将使您在使用 Docker Compose 构建 Nextcloud 时,关于扩展数据库、缓存或其他负载均衡器服务的容器时遇到的麻烦最小化。 然后,通过这种模块化方式,您将在大规模环境中获得良好的性能。
  • 持久存储:将存储卷挂载在容器外,即使在容器重启或升级后,数据仍保持持久。
  • 轻松升级:您可以通过 Docker 简单地升级 Nextcloud 或其依赖项。 您可以调入一个新版本的映像,您可以重启您的容器 更新完成后,无需进行混乱的迁移 模块化--您可以运行下一个服务,如 Redis 作为缓存层或 MariaDB 作为数据库; 这导致了微服务式架构。
  • 安全性:Docker 的隔离是固有的,它将分离 Nextcloud 的环境与其主机和其他应用程序,从而最大限度地减少攻击面。

    所有这些功能使 Nextcloud Docker 成为托管您的私有云基础设施的简单而高效的解决方案。

    以下是 Nextcloud 的简单架构。

    -->

安装 Nextcloud

先决条件

  • 支持 WSL 2 的 Windows 10/11(专业版、企业版或教育版)。
  • Docker Desktop 已安装并在 Windows 上运行。
  • 基本熟悉终端或命令提示符的使用。

提取 Nextcloud Docker 映像

我们需要从 Docker Hub 中提取官方 Nextcloud Docker 镜像。

打开终端并运行以下命令:

docker pull nextcloud

或者打开 docker 应用程序,在搜索框中搜索容器名称。

Nextcloud Docker Compose(开发人员如何使用):图 4

这将下载 Nextcloud 的最新 docker-compose 文件。 要运行 Nextcloud 安装程序,请在命令提示符下输入以下命令。

docker run -d -p 8080:80 nextcloud

Nextcloud Docker Compose(它如何为开发人员工作):图5

运行上述代码后,将在 docker 环境中创建 Nextcloud 自定义卷。

为数据库设置 MariaDB

它需要一个数据库来存储 Nextcloud 数据。 我们可以使用 MariaDB 作为 MySQL 的直接替代品。

首先,调出 MariaDB 镜像:

docker pull mariadb

现在使用此命令创建 MariaDB 容器:

docker run -d \
  --name nextcloud-db \
  -e MYSQL_ROOT_PASSWORD=your_root_password \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud_user \
  -e MYSQL_PASSWORD=your_password \
  mariadb

将 your_root_password 和 your_password 替换为您选择的强密码。此命令将创建一个名为 nextcloud db 的运行中的 MariaDB 容器,以及一个名为 nextcloud 的新数据库和一个名为 nextcloud_user 的用户。 使用 Nextcloud 容器可以安装自定义存储卷。

Nextcloud 网页界面

在计算机上打开网络浏览器。

在地址栏中输入托管有 Nextcloud 的服务器 IP 地址或域名:(Nextcloud 也可以通过反向代理运行)

http://localhost:8080/

设置管理员账户

您将看到 Nextcloud 设置页面,在此您可以创建一个管理员用户。 此外,还提供了Nextcloud命令行界面(CLI)以便在需要时管理配置和设置。

Nextcloud Docker Compose(它如何适用于开发人员):图6

管理员用户名:这里是第一个管理员用户名,必须使用该用户名创建主账户。

管理员密码:这是需要为新的管理员用户名设置的密码。 此外,我们还可以使用数据库环境变量默认值来配置数据库设置。

配置数据库

向下滚动到安装页面的 "数据库 "部分。 数据库用户是设置时提供的用户名。数据库密码是数据库用户名的密码。 数据库名称是您的数据库名称。

Nextcloud Docker Compose(适用于开发者:工作原理):图7

数据库主机:如果在本地托管数据库,请使用localhost,如果使用 Docker,请使用数据库容器名称(例如,Nextcloud db)。

填写所有详细信息,然后点击完成设置。

Nextcloud Docker Compose(它对开发人员的作用):图8

Nextcloud 现在将配置数据库并完成设置。整个过程只需几分钟。 Nextcloud 可合并配置文件以高效运行。 Nextcloud 还允许我们配置对象存储服务器。

获得数据配置文件并安装后,系统会自动将您转到 Nextcloud 的用户界面登录页面。

使用安装时输入的管理员用户名和密码登录。

Nextcloud Docker Compose(开发人员如何使用):图9

登录后,您就可以进入 Nextcloud 面板,开始查看您的云文件、日历和联系人。

Nextcloud Docker Compose(对开发者的工作原理):图 10

什么是 IronSecureDoc?

IronSecureDoc 是一款用于加密、编辑和数字签名敏感文件的文档安全工具。 它用于保护 PDF 文件,从而使人们能够掌控自己的个人数据和机密信息。

Nextcloud Docker Compose(它是如何为开发人员工作的):图11 - IronSecureDoc

其功能包括密码保护、符合标准和数字认证,主要用于医疗、金融和法律领域。 它以 REST API 的形式提供,与其他工作流程集成,并可作为 docker 用于可扩展的云友好型安全解决方案。

安装和运行 IronSecureDoc

在打开的终端窗口或 Command Prompt 中使用此命令从资源库中提取 Docker 镜像 IronSecureDoc。

docker pull ironsoftwareofficial/ironsecuredoc

Nextcloud Docker Compose(开发人员如何使用):图12

现在有了这个 Docker 容器的镜像,使用另一条命令启动一个名为 IronSecureDoc 的新运行容器。

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest

Nextcloud Docker Compose(它如何为开发人员工作):图13

在 Docker 容器中使用 IronSecureDoc

安装后即可访问,安装后启动 Docker,使用其 REST API 对文档进行编辑、认证和加密。 API 端点和文档:您可以在此找到 http://localhost:8080/swagger/index.html

Nextcloud Docker Compose(其在开发人员中的工作原理):图14

要提交加密文档,可向 IronSecureDoc API 发送 POST 请求:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'

这将把文档转发给 IronSecureDoc,后者将应用适当的加密。

结论

Nextcloud 和 IronSecureDoc 是以安全高效的方式处理数据的两种截然不同的解决方案。 Nextcloud restart 是一个非常强大的自托管云平台,允许用户存储、管理和共享文件、日历和联系人。 由于是开源的,它可以与各种应用程序集成,可以通过 Docker 或手动安装进行扩展,同时提供对数据隐私和定制的全面控制。

相比之下,IronSecureDoc 主要涉及通过高级加密技术进行文档加密; 因此,用户可以放心地处理敏感文件。 通过与 Docker 集成,部署变得非常容易,非常适合需要在其他环境中安全处理文档的组织。

所有这些与 Nextcloud 在云管理方面的灵活功能以及通过 IronSecureDoc 增强的安全文档功能相辅相成。 它们共同构成了高度私有安全云空间的完整生态系统,并允许在此类受控环境中轻松获取保密性,以满足这些需求。 点击此处了解更多关于IronSecureDoc许可的信息。 有关Iron Software提供的产品线的更多信息,请查看此处

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
企业安全与网络安全(如何为开发人员所用)
下一步 >
Docker Compose 网络(面向开发人员的工作原理)

准备开始了吗? 版本: 2024.10 刚刚发布

查看许可证 >