跳過到頁腳內容
使用 IRONSECUREDOC

Docker Compose 構建(開發者教程)

什麼是Docker

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

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

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

Docker 的工作原理是什麼?

  • Docker 守護程式監聽來自 Docker 用戶端的請求,這些請求可能包括 docker 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 應用程式的簡單方法:docker-compose.yml。 此 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 應用程式的工具。它簡化了服務、映像、網路和卷的配置和協調,使其成為管理微服務等複雜應用程式的理想選擇。

如何使用 Docker 在 Visual Studio 中創建具有 ASP.NET Core 的 React JS 應用程式?

要使用 Docker 在 Visual Studio 中創建具有 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 加密文件?

您可以通過發送 POST 請求到其 API 來使用 IronSecureDoc 加密文件。使用 `curl` 命令上傳文件,指定本地文件路徑和加密參數。此操作在 Docker 容器中保護文件。

Curtis Chau
技術作家

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

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

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我