使用 IRONSECUREDOC

Nextcloud Docker Compose(它如何為開發人員工作)

查克尼思·賓
查克尼思·賓
2024年12月16日
分享:

什麼是 Docker?

Docker 是一個免費且開源的框架,用於自動化輕量級容器內應用程式的部署和擴展。 它將應用程式代碼與所有依賴項(如庫、工具和配置)打包在一起,從而在開發者的筆記本電腦、測試伺服器或實際生產雲伺服器中的任何環境中統一運行。

容器與傳統的虛擬機器也不同。 容器共享主機系統的[OS核心](https://en.wikipedia.org/wiki/Kernel_(operating_system),因此啟動更加高效且快速

也就是說,它定義了一個應用程式,因此,通過 Docker 映像基本上是創建容器的模板,來定義其環境。 協作工具包括用於多容器應用程式的 Docker Compose,而我們共享映像的中央存儲庫是 Docker Hub。

什麼是Nextcloud?

Nextcloud Docker Compose 說明了如何使用 Docker 容器為自託管雲端儲存應用程式 Nextcloud 提供一個隔離、可攜帶且可擴展的環境。 這個熱門的解決方案支持檔案儲存和共享、日曆、聯絡人等,同時允許完全控制數據。

Nextcloud Docker Compose(它對開發人員的作用):圖2

它確實簡化了設置,因為現在像 PHP 和網絡伺服器這樣的依賴項都包含在一個容器中。 因此,Docker 在安裝和管理 Nextcloud 方面使事情變得更加容易。 此外,這保證了一切在不同環境中都會以相同方式運行,因此可以輕鬆部署到不同的系統。

在 Docker 中運行 Nextcloud 是簡單、模組化且可擴展的。 例如,在使用 Docker Compose 的多容器設置中,您可以為 Nextcloud 資料庫(例如 MySQL 或 MariaDB)、快取(例如 Redis)和 Nextcloud 應用程式本身運行單獨的容器。 這增加了靈活性,允許更容易地管理和擴展 Nextcloud 實例。

Nextcloud的功能

Nextcloud Docker 的好處是其部署和管理功能的便捷性,這是 Nextcloud 隨帶的特點。 它具備以下列出所有主要關鍵功能:

  • 簡化設置:由於 Docker 搭載所有隨之安裝的依賴項,如 PHP 和 Web 伺服器,因此安裝非常容易。 因此,一切都在一個容器中,以便快速且無憂地安裝和配置。
  • 可攜性: 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

使用此命令從儲存庫中在開放的終端窗口或命令提示字元中提取 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

將 IronSecureDoc 與 Docker 容器結合使用

安裝完成後,可以存取該功能,用戶需安裝並啟動 Docker,以使用其 REST API 進行文件的塗抹、認證及加密,這部分內容也在其他地方提到過。 API 端點和文件:您可以在此找到 http://localhost:8080/swagger/index.html

Nextcloud Docker Compose(開發人員的工作原理):圖14

要提交文件進行加密,可以將 POST 請求發送到 IronSecureDoc API:

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,IronSecureDoc會進行適當的加密。

結論

Nextcloud 和 IronSecureDoc 是兩個截然不同的解決方案,用於以安全和高效的方式處理資料。 Nextcloud重新啟動是一個非常強大的自託管雲端平台,允許用戶儲存、管理和分享文件、行事曆和聯絡人。 作為開源軟體,它可以與多種應用程式整合,並能透過 Docker 或手動安裝進行擴展,同時提供資料隱私和自訂化的全面控制。

相比之下,IronSecureDoc主要關注通過高級加密進行文件加密; 因此,使用者可以放心地處理敏感檔案。 通過與 Docker 的整合,部署變得容易,是需要在其他環境中進行安全文件處理的組織的理想選擇。

這些全部總結了來自 Nextcloud 的靈活功能,協助雲管理,以及通過 IronSecureDoc 增強的安全文件功能。 它們共同構成了一個完整的生態系統,為高度私密的安全雲空間提供服務,並在這種受控環境中為這些需求提供便捷的保密訪問。 請點擊此處獲取有關IronSecureDoc授權的更多資訊。 欲了解 Iron Software 提供的產品線的詳細資訊,請點擊這裡

查克尼思·賓
軟體工程師
Chaknith 致力於 IronXL 和 IronBarcode。他在 C# 和 .NET 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。
< 上一頁
企業安全與網路安全(如何為開發人員提供功能)
下一個 >
Docker Compose 網路(對開發者的運作方式)

準備開始了嗎? 版本: 2024.10 剛剛發布

查看許可證 >