跳至頁尾內容
USING IRONSECUREDOC

Docker Compose 構建(開發者教程)

什麼是Docker

Docker 是一個開源平台,透過容器化簡化了開發、部署和運行應用程式的過程。 容器是超輕量、可攜帶的單位,將應用程式及其依賴項打包在一起,實現從開發者本地系統到生產伺服器的跨環境一致執行。 與傳統的虛擬機不同,容器利用主機操作系統的內核,增加速度和效率。

Docker Compose 構建(開發者教程):圖1

Docker 通過 Docker 映像提供虛擬化模板,用於建立和管理容器集。 它包括 Docker Hub,一種容器映像儲存庫形式。 這項技術的吸引力在於其可擴展性、可攜帶性和效率,使其在DevOps和以雲為中心的開發工作流程中頗受歡迎。

Docker 如何運作?

  • Docker Daemon 監聽 Docker Client 的請求,這些請求可能包括 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-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 應用程式

請遵循以下步驟來建立具有 ASP.NET Core 後端的新 Visual Studio React 應用程式,並新增 Docker 支援:

先決條件

  • Visual Studio: 確保安裝了 Visual Studio 2022 或更新版本,並具有必要的工作負載:
    • 網頁開發與 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 的支援,將您的 ASP.NET Core 應用程式與 IronSecureDoc 進行封裝,促進無縫的部署和擴展。 構建一個 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

在 Docker 容器中使用 IronSecureDoc

一旦安裝並在 Docker 中運行,IronSecureDoc 的 REST API 允許文件操作,如修訂、認證和加密。 有關 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 進行加密。

結論

與 IronSecureDoc 結合使用 Docker Compose 大大提高了需要安全文件處理的應用程式的效率和可靠性。 Docker Compose 在流暢依賴和服務協調方面有效管理多容器應用程式,其中包括 IronSecureDoc,確保開發環境一致性,簡化配置並提升可擴展性。

在此設置中,開發者可以充分利用文件安全功能,如加密和修訂,在容器化框架中。 總而言之,將 Docker Compose 與 IronSecureDoc 結合使用,豐富了開發過程,提供了一種在現代應用程式中處理敏感文件的安全高效方法。 有關 IronSecureDoc 授權的資訊,請存取此頁面。 點擊這裡探索更多 Iron Software 產品。

常見問題

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

Docker 是一個開源平台,透過使用容器簡化應用程式開發和部署。容器是輕量且可攜帶的單元,包裝了應用程式及其所有的依賴,確保在各種環境中的一致執行。

Docker Compose 如何在管理複雜應用上提供幫助?

Docker Compose 是管理多容器 Docker 應用程式的工具,使用一個 `docker-compose.yml` 文件。它簡化了服務、圖像、網路和卷的配置與協調,是管理像微服務這樣的複雜應用的理想選擇。

using Docker 在 Visual Studio 中如何建立一個具有 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 執行像加密和遮蔽這樣的安全文件處理操作,從而增強容器化應用的安全性。

using 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 請求到 IronSecureDoc 的 API 來加密文件。使用 `curl` 命令上傳文件,指定本地文件路徑和加密參數。此操作在 Docker 容器中保護文件。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

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