跳至页脚内容
使用 IRONSECUREDOC

Nextcloud Docker Compose(开发者工具如何工作)

什么是Docker?

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

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

从本质上讲,Docker通过Docker镜像定义应用程序及其环境,这些镜像是创建容器的模板。 编排工具包括Docker Compose用于多容器应用程序,而Docker Hub是我们共享镜像的中央存储库。

什么是Nextcloud?

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

它简化了设置,因为依赖项如PHP和Web服务器都包含在一个容器中; Docker使安装和管理Nextcloud变得更加容易。 这也保证了所有内容在不同环境下运行相同,从而允许在不同系统上平滑部署。

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

Nextcloud的功能

Nextcloud Docker提供了简单部署和管理功能,所有主要关键功能如下所示:

  • 简化设置:由于Docker能够在单个容器中携带所有依赖项(如PHP和Web服务器),安装既快捷又简单,轻松配置。
  • 可移植性:Docker容器在不同环境和节点上实现可移植性,防止在服务器或云环境间移动Your Nextcloud实例时出现兼容性问题。
  • 隔离性:容器与主机系统和其他容器隔离,确保依赖项和配置不会与同一台机器上的其他服务冲突。
  • 可扩展性:利用Docker Compose,可以通过部署数据库、缓存或负载均衡服务的额外容器来轻松扩展Nextcloud,并在大规模环境中实现卓越性能。
  • 持久存储:通过将存储卷外部挂载到容器,即使在容器重启或升级后数据也能保持持久性。
  • 简单升级:通过Docker无缝升级Nextcloud或其依赖项,只需拉取新镜像版本并重启容器; 无需进行繁琐的迁移。
  • 安全性:Docker固有的隔离性将攻击面降至最低,通过将Nextcloud的环境与其主机和其他应用程序隔离。

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

安装Nextcloud

前提条件

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

拉取Nextcloud Docker镜像

通过在终端中运行以下命令从Docker Hub拉取官方Nextcloud Docker镜像:

docker pull nextcloud
docker pull nextcloud
SHELL

或者,打开Docker应用程序,在搜索框中搜索"nextcloud"。

在命令提示符中使用以下命令来运行Nextcloud安装:

docker run -d -p 8080:80 nextcloud
docker run -d -p 8080:80 nextcloud
SHELL

此命令将下载Nextcloud镜像并创建一个新容器,将其暴露在端口8080。

为数据库设置MariaDB

Nextcloud需要一个数据库来存储其数据。 我们可以使用MariaDB作为MySQL的替代方案。

首先,拉取MariaDB镜像:

docker pull mariadb
docker pull mariadb
SHELL

使用此命令创建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
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
SHELL

用您选择的强密码替换your_root_passwordyour_password。此命令将设置一个名为nextcloud-db的MariaDB容器,带有一个名为nextcloud的数据库和一个名为nextcloud_user的用户。

Nextcloud Web界面

通过打开Web浏览器并输入托管Nextcloud的服务器的IP地址或域名来访问Nextcloud安装。 对于本地安装,请使用:

http://localhost:8080/

设置管理员帐户

访问设置页面后,创建一个管理员用户。 Nextcloud CLI也可用于在需要时管理配置和设置。

输入所需信息后,配置数据库连接:

  1. 数据库主机:本地数据库使用localhost,如果使用Docker,则使用数据库容器名称(例如,nextcloud-db)。
  2. 数据库用户名和密码:在MariaDB设置期间提供。
  3. 数据库名称:在此示例中为nextcloud

填写所有必要详细信息并点击"完成设置"以完成安装。

IronSecureDoc是什么?

IronSecureDoc 是用于加密、编辑和数字签署敏感文件的文档安全工具。 它保护PDF,允许用户有效地控制个人数据和机密信息。

安装与运行 IronSecureDoc

使用以下命令拉取IronSecureDoc Docker镜像:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

要运行IronSecureDoc容器,请使用:

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

用您实际的许可证密钥替换<IRONSECUREDOC_LICENSE_KEY>。 此命令启动IronSecureDoc容器,将其暴露在端口8080。

使用 Docker 容器中的 IronSecureDoc

安装后可以通过其REST API访问IronSecureDoc。 文档和API端点可以在http://localhost:8080/swagger/index.html找到。

要提交文件进行加密,请通过curl使用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'
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'
SHELL

这会将文件转发到IronSecureDoc,应用适当的加密。

结论

Nextcloud和IronSecureDoc在安全数据处理方面有不同的用途。 Nextcloud是一个功能强大、自托管的云平台,用于管理和共享数据,通过Docker提供完整的隐私控制和可扩展性。 IronSecureDoc提供高级文档加密,确保安全处理敏感文件。 与Docker的集成使这两种解决方案适用于可扩展和安全的环境。

点击此处了解有关IronSecureDoc许可证的更多信息。 有关Iron Software提供的产品线的更多信息,请点击此处

常见问题解答

Docker Compose 如何简化 Nextcloud 的部署?

Docker Compose 允许您编排多容器应用程序,通过将 Nextcloud 的所有依赖项打包到隔离、可移植和可扩展的容器中,使其部署变得简单。

使用 Docker 部署 Nextcloud 有何优势?

使用 Docker 部署 Nextcloud 的优势包括简化设置、增强可移植性、隔离、可扩展性、持久存储、轻松升级和改进的安全性。

如何使用 Docker 设置 Nextcloud?

您可以通过使用命令docker pull nextcloud拉取官方 Nextcloud Docker 镜像并使用docker run -d -p 8080:80 nextcloud运行它来设置 Nextcloud。

Docker 设置中的 Nextcloud 涉及哪些组件?

Nextcloud 的 Docker 设置通常涉及应用程序本身、数据库和缓存服务的单独容器,每个容器由 Docker Compose 管理,以确保模块化和可扩展性。

IronSecureDoc 如何增强 Nextcloud 的数据安全性?

IronSecureDoc 通过提供高级文档加密、删减和数字签名功能来增强 Nextcloud 的数据安全性,确保敏感文件在 Docker 环境中可以安全处理。

IronSecureDoc 可以与 Docker 集成用于 Nextcloud 的部署吗?

是的,IronSecureDoc 可以通过使用其 Docker 镜像与 Docker 集成以增强 Nextcloud 的部署。这种集成允许在 Docker 化环境中通过其 REST API 进行安全的文档处理。

为什么选择像 Nextcloud 的自托管解决方案而不是云提供商?

选择像 Nextcloud 这样的自托管解决方案而不是云提供商可以提供完整的隐私控制、数据主权,以及根据特定组织需求自定义环境的能力,同时利用 Docker 进行高效部署。

Docker 在确保 Nextcloud 跨不同环境性能稳定中扮演什么角色?

Docker 通过将应用程序及其所有依赖项封装到一个单独的容器中来确保 Nextcloud 在不同环境中的性能一致,这防止了冲突并简化了部署过程。

Docker 和 Nextcloud 如何协作提供可扩展的云存储解决方案?

Docker 和 Nextcloud 通过使用容器高效地管理和扩展应用程序,允许在需求增长时轻松添加资源和服务,同时维护数据完整性和安全性。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。