跳過到頁腳內容
使用 IRONSECUREDOC

Docker Compose Build (開發人員教程)

什麼是Docker

Docker 是一個開源平台,它簡化了使用容器化技術開發、部署和運行應用程式的過程。 容器是超輕量級、可移植的單元,它將應用程式及其依賴項打包在一起,從而能夠在從開發人員的本機系統到生產伺服器等各種環境中實現一致的執行。 與傳統虛擬機器不同,容器利用宿主作業系統的內核,從而提高了速度和效率。

Docker Compose 建置(開發者教學):圖 1

Docker 透過 Docker 映像提供虛擬化模板,用於建立和管理容器集。 它包括 Docker Hub,一種容器映像倉庫。 這項技術的最大吸引力在於其可擴展性、可移植性和高效性,使其在DevOps和以雲端為中心的開發工作流程中非常受歡迎。

Docker 的工作原理是什麼?

  • Docker 守護程式監聽來自 Docker 用戶端的請求,這些請求可能包括docker builddocker pulldocker run
  • Docker Daemon 負責容器的建立、管理和監控。 它還可以從映像倉庫(例如 Docker Hub)中檢索所需的 Docker 映像。
  • 使用下載的鏡像,守護程式建立一個隔離的容器,實際上是應用程式的一個執行實例。
  • 容器共享宿主機的作業系統內核,但彼此隔離,使軟體能夠在具有其依賴項的獨特環境中運行。
+--------------------+
|   Docker Client    |
|  (CLI/API)         |
+--------------------+
          |
          v
+--------------------+               +---------------------+
|   Docker Daemon    |   -------->   |   Docker Registry   |
|  (manages resources|               |  (stores images)    |
|  & runs containers)|               +---------------------+
+--------------------+
          |
          v
+---------------------+
|      Container      |  
|  (App Instance)     |
+---------------------+
          |
          v
+---------------------+
| Docker Image        |  
| (App Blueprint)     |
+---------------------+

什麼是 Docker Compose?

Docker Compose 提供了一種使用單一檔案docker-compose.yml )輕鬆管理多容器 Docker 應用程式的方法。 此 YAML 檔案允許配置多個服務,指定 Docker 映像、環境變數、網路和磁碟區等方面。 您可以使用 Docker Compose 命令(例如docker-compose updocker-compose down透過單一操作來管理應用程式中的所有容器。

+--------------------------+
|   docker-compose.yml     |  (Configuration file)
+--------------------------+
            |
            v
+----------------+    +----------------+    +----------------+
|   Service 1    |    |   Service 2    |    |   Service 3    |
|  (e.g. web)    |    |  (e.g. db)     |    |  (e.g. cache)  |
+----------------+    +----------------+    +----------------+
            |                  |                   |
            -----------------------------------------
                         Docker Application

Docker Compose 對於像微服務這樣具有大量容器實例的複雜應用程式來說尤其有利。 它可有效應用於開發、測試和生產環境。

使用 ASP.NET Core 建立一個新的 React JS 應用程式

請依照下列步驟建立一個新的 Visual Studio React 應用程序,使用 ASP.NET Core 後端並新增 Docker 支援:

先決條件

  • Visual Studio:確保已安裝 Visual Studio 2022 或更高版本以及必要的工作負載:
    • Web 開發和 ASP.NET
    • Node.js 開發(React)
    • Docker 支持
  • Docker Desktop:必須已安裝並正在運作。

建立新專案

  1. 開啟 Visual Studio,然後從選單中選擇"新項目"。

    Docker Compose 建置(開發者教學):圖 2

  2. 在"建立新專案"對話方塊中搜尋"React 和 ASP.NET Core Web 應用程式",然後選擇它。 按一下下一步。

    Docker Compose 建置(開發者教學):圖 3

  3. 為項目命名,選擇解決方案名稱,並選擇儲存位置。 按一下下一步。

    Docker Compose 建置(開發者教學):圖 4

  4. 確保已啟用 Docker 支援。 選擇所需的框架,然後按一下"建立"。

    Docker Compose 建置(開發者教學):圖 5

  5. 建立專案後,右鍵點選專案節點,選擇"新增">"Docker 支援"來新增 Docker 支援。

    Docker Compose 建置(開發者教學):圖 6

  6. 選擇容器名稱和類型,然後按一下"確定"。

    Docker Compose 建置(開發者教學):圖 7

現在新建立的專案已新增到 Docker 容器中,可以使用 Docker Compose 命令運行它。 以下是 React JS 用戶端程式碼產生的範例輸出。

Docker Compose 建置(開發者教學):圖 8

以下是在 Docker 容器中執行的 API 伺服器端程式碼。

Docker Compose 建置(開發者教學):圖 9

IronSecureDoc

IronSecureDoc 使開發人員能夠有效率地將安全文件處理嵌入到容器化應用程式中。 借助 Docker 的支持,使用 IronSecureDoc 封裝您的 ASP.NET Core 應用程序,從而實現無縫部署和擴展。 建立 Dockerfile,將 IronSecureDoc 整合到您的 ASP.NET Core 應用程式中,並包含必要的腳本或配置。

Docker Compose 建置(開發者教學):圖 10 - IronSecureDoc

此外, docker-compose.yml檔案可以概述服務依賴關係和環境變量,以便於訪問,從而幫助在不同的部署設定中有效地處理文件安全任務。 確保 IronSecureDoc(如 Docker)的安裝和配置對於實現文件加密和編輯等功能至關重要。

安裝和運行 IronSecureDoc

使用以下指令取得 IronSecureDoc Docker 映像:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Compose 建置(開發者教學):圖 11

拉取鏡像後,使用以下指令在新容器中啟動 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

Docker Compose 建置(開發者教學):圖 12

將 IronSecureDoc 與 Docker 容器結合使用

IronSecureDoc 的 REST API 允許在 Docker 中安裝和執行時執行文件操作,例如編輯、認證和加密。 有關 API 端點的更多信息,請查看文件

若要加密文檔,請向 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'
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 進行加密。

結論

將 Docker Compose 與 IronSecureDoc 集成,可大幅提高需要安全文件處理的應用程式的效率和可靠性。 Docker Compose 可以有效地管理多容器應用程序,簡化依賴關係和服務協調,包括 IronSecureDoc,從而確保開發環境的一致性,簡化配置,並提高可擴展性。

在這種設定下,開發人員可以在容器化框架內充分利用文件安全功能,例如加密和編輯。 總而言之,將 Docker Compose 與 IronSecureDoc 結合使用,可以豐富開發過程,為現代應用程式中處理敏感文件提供安全、高效的方法。 有關 IronSecureDoc 許可的信息,請訪問此頁面按此了解更多Iron Software產品。

常見問題解答

什麼是 Docker,它如何促進應用程式的部署?

Docker 是一個開放源碼平台,可透過使用容器簡化應用程式的開發與部署。容器是輕量、可移植的單元,可將應用程式與其所有相依性一併打包,以確保在各種環境中都能一致執行。

Docker Compose 如何協助管理複雜的應用程式?

Docker Compose 是一種使用 `docker-compose.yml` 檔案管理多容器 Docker 應用程式的工具。它簡化了服務、影像、網路和卷的組態與協調,非常適合管理微服務等複雜應用程式。

在 Visual Studio 中使用 Docker 使用 ASP.NET Core 建立 React JS 應用程式的步驟為何?

若要在 Visual Studio 中使用 Docker 建立具備 ASP.NET Core 的 React JS 應用程式,請確保您已安裝 Visual Studio 2022 或更新版本,並已安裝必要的工作負載和 Docker Desktop。建立專案、新增 Docker 支援,並使用 Docker Compose 指令來管理應用程式。

IronSecureDoc 如何與 Docker 整合以進行安全的文件處理?

IronSecureDoc 可與 Docker 整合,方法是拉取其 Docker 映像並在容器中執行。此設定可透過其 REST API 進行加密和刪除等安全的文件處理作業,強化容器化應用程式的安全性。

使用 Docker Compose 搭配 IronSecureDoc 處理文件有什麼好處?

將 Docker Compose 與 IronSecureDoc 整合,可透過管理容器化環境中的相依性和服務,提升應用程式的效率和可靠性。它可確保安全且可擴充的文件處理,這對於需要強大文件安全性的應用程式而言至關重要。

如何在現有的 Visual Studio 專案中加入 Docker 支援?

若要在現有的 Visual Studio 專案中加入 Docker 支援,請在專案節點上按一下滑鼠右鍵,選擇新增 > Docker 支援,然後選擇適當的容器選項。這會將 Docker 功能整合到您的專案中,允許容器化開發。

在 Docker 容器中執行 IronSecureDoc 的流程為何?

若要在 Docker 容器中執行 IronSecureDoc,請使用 `docker pull` 指令取得映像檔,然後執行 `docker container run` 並加上必要的環境變數,例如授權金鑰和連接埠。此設定有助於在容器內進行安全的文件處理。

如何在 Docker 環境中使用 IronSecureDoc 加密文件?

您可以透過向 IronSecureDoc 的 API 傳送 POST 請求,使用 IronSecureDoc 加密文件。使用 `curl` 指令上傳文件,指定本機檔案路徑和加密參數。此操作可在 Docker 容器中保護文件。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。