跳至頁尾內容
使用 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 容器可以在不同的環境和節點之間移植,從而防止在伺服器或雲端環境之間移動 Nextcloud 實例時出現相容性問題。 隔離:容器與主機系統和其他容器隔離,確保依賴關係和配置不會與同一台機器上的其他服務發生衝突。 可擴充性:利用 Docker Compose,您可以輕鬆擴展 Nextcloud,透過部署額外的容器來提供資料庫、快取或負載平衡服務,從而在大規模環境中實現卓越的效能。 持久儲存:透過將儲存磁碟區掛載到容器外部,即使容器重新啟動或升級後,資料也能保留。 輕鬆升級:**透過 Docker 拉取新的映像版本並重新啟動容器,即可無縫升級 Nextcloud 或其相依性; 無需進行複雜的遷移。 *安全性: Docker 固有的隔離性將 Nextcloud 的環境與其主機和其他應用程式隔離開來,從而最大限度地減少了攻擊面。

Nextcloud Docker 的所有這些功能使其成為託管私有雲基礎架構的高效解決方案。

安裝 Nextcloud

先決條件

  • 支援 WSL 2 的 Windows 10/11(專業版、企業版或教育版)。
  • Docker Desktop 已安裝並運作在 Windows 系統上。
  • 具備使用終端機或命令提示字元的基本知識。

拉取 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介面

開啟網頁瀏覽器,輸入 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 連接埠上。

將 IronSecureDoc 與 Docker 容器結合使用

安裝完成後,可以透過其 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 設定 Nextcloud,方法是使用指令docker pull nextcloud拉取官方 Nextcloud Docker 映像,然後使用docker run -d -p 8080:80 nextcloud來執行它。

Nextcloud 的 Docker 配置涉及哪些元件?

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擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。