使用 IRONSECUREDOC

Docker Compose 構建(開發者教程)

發佈 2024年12月16日
分享:

什麼是Docker

Docker 是一個開源系統,它通過容器化技術,使開發、部署和運行應用程式變得更加容易。 容器是極輕量的可攜式單元,包含應用程序及其依賴項,從而可以在任何地方一致運行,從開發人員的機器到生產服務器。 與傳統的虛擬機器相比,容器共用主機作業系統的核心,因此速度更快且效率更高。

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

這意味著提供以 Docker 映像形式的虛擬化模板來創建和管理這組容器。 此外,該平台包含 Docker Hub,這是一種容器映像存儲庫。 這項技術的美之處在於其擴展性、可移植性和效率的潛在簡便性,這也是它在許多人中獲得普及的原因。DevOps和基於雲端的開發工作流程。

Docker 是如何運作的?

  • Docker Daemon 通過 Docker 客戶端以 docker build、docker pull 或 docker run 等形式接收指令。
  • Docker Daemon 創建、管理和監控容器。 它還會從私有註冊表或 Docker Registry(如 Docker Hub)下載適當的 Docker 映像。
  • 守護程序使用下載的映像來創建應用程序的隔離容器或運行實例。
  • 與容器一樣,這些容器共享主機的操作系統核心,但與其他容器隔離。 這允許程序在其自己的環境中執行,只需滿足其設置的需求。
+--------------------+

   Docker Client     

  (CLI/API)          

+--------------------+

          v
+--------------------+                +---------------------+

   Docker Daemon    
   -------->    
   Docker Registry    

 (runs containers,  
 (stores images)      

  manages resources)
                +---------------------+
+--------------------+

          v
+---------------------+

      Container      

  (App Instance)     

+---------------------+

          v
+---------------------+

 Docker Image        

 (Blueprint for App) 

+---------------------+
+--------------------+

   Docker Client     

  (CLI/API)          

+--------------------+

          v
+--------------------+                +---------------------+

   Docker Daemon    
   -------->    
   Docker Registry    

 (runs containers,  
 (stores images)      

  manages resources)
                +---------------------+
+--------------------+

          v
+---------------------+

      Container      

  (App Instance)     

+---------------------+

          v
+---------------------+

 Docker Image        

 (Blueprint for App) 

+---------------------+
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'+--------------------+ Docker Client(CLI/API) +--------------------+ v +--------------------+ +---------------------+ Docker Daemon -------- > Docker Registry(runs containers, (stores images) manages resources) +---------------------+ +--------------------+ v +---------------------+ Container(App Instance) +---------------------+ v +---------------------+ Docker Image(Blueprint for App) +---------------------+
VB   C#

什麼是 Docker compose?

使用 Docker Compose,您可以以最簡單的方式管理多容器 Docker 應用程式。 它允許您通過引用 docker-compose.yml 文件來定義多個服務。在 YAML 文件中(或 yml 檔案),您可以包括服務 d 的配置設置,例如您將使用的 Docker 映像、環境變量、網路或卷。 您可以使用單個命令透過 Docker Compose 在應用程序中啟動、停止和管理所有容器:docker-compose up 或 docker-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.yml      
  (Configuration file)
+--------------------------+

            v
+----------------+    +----------------+    +----------------+

   Service 1    
   Service 2    
   Service 3    

  (e.g. web)    
  (e.g. db)     
  (e.g. cache)  

+----------------+    +----------------+    +----------------+

            -----------------------------------------
                         Docker Application
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'+--------------------------+ docker-compose.yml(Configuration file) +--------------------------+ v +----------------+ +----------------+ +----------------+ Service 1 Service 2 Service 3(e.g.web)(e.g.db)(e.g.cache) +----------------+ +----------------+ +----------------+ ----------------------------------------- Docker Application
VB   C#

它特別適用於複雜的應用程式,例如微服務,這些應用程式有數百個容器實例一起運行。 這些可能包括網絡伺服器、資料庫,甚至緩存。 這就是為什麼 Docker Compose 在開發、測試和生產環境中非常有效地使用的原因。

使用 .NET Core 創建新的 React JS 應用程式

以下是建立新的 Visual Studio React 應用程式並使用 ASP.NET Core 作為後端並增加對 Docker 支援的步驟。 這是一份詳盡的指南:

先決條件

  • Visual Studio: 確保您已安裝 Visual Studio 2022 或更新版本及其所有工作負載:
  • 網頁開發工作負載和ASP.NET
  • Node.js 開發工作負載(React)
  • Docker 支援(通過運行 Visual Studio 安裝程式下載)
  • Docker Desktop:應安裝並運行Docker Desktop。

建立新專案

打開 Visual Studio,從功能表中選擇新建專案。

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

從「建立新專案」對話框中尋找並選擇 React 和 ASP.NET Core Web 應用程式。 然後按「下一步」按鈕。

Docker Compose Build(開發者教程):圖 3

決定專案名稱。 選擇解決方案名稱和專案的儲存位置。 然後按「下一步」按鈕。

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

確保選擇 Docker Enable。 選擇所需的框架。 然後點擊建立。

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

建立專案後,您可以通過右鍵點擊專案節點並選擇新增 > Docker 支援,向其中添加 Docker compose 檔案。

Docker Compose 構建(開發人員教程):圖 6

然後,選擇容器名稱和類型並單擊確定。

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

現在,隨著新建專案添加到 Docker 容器中,我們可以通過 Docker 應用程式運行 docker-compose。 以下是由 React JS 客戶端代碼生成的樣本輸出。

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

以下是從 docker 容器運行的 API 伺服器端代碼。

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

IronSecureDoc

IronSecureDoc for Docker 使開發者能夠在其容器化應用中高效添加安全文檔處理功能。 現在您可以使用 Docker,便有機會將您的 ASP.NET Core 應用程式與 IronSecureDoc 一起封裝在一個統一的環境中,這樣有助於更容易的部署和擴展。 要讓它運行,您需要建立一個 Dockerfile,該文件使用 IronSecureDoc 庫來組合您的 ASP.NET Core 應用程式,並可能需要其他安裝腳本或配置來確保運行。

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

此外,它提供了一個 docker-compose.yml 文件,該文件概述了服務依賴性和環境變數以及訪問它的映射端口。 這使得處理文件安全任務變得更加容易,從而使您的應用程式可以在與開發或生產中使用的不同環境中高效運行。 IronSecureDoc 的安裝及配置 如同 Docker,IronSecureDoc 的正確安裝和配置對於有效實現其功能(如文件加密、編輯等)是必要的。

安裝及運行IronSecureDoc

要從倉庫中獲取IronSecureDoc Docker映像,請在命令提示符或終端窗口中使用此命令。

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
VB   C#

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

在 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
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
VB   C#

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

將 IronSecuredoc 與 Docker 容器結合使用

IronSecureDoc 的 REST API 允許用戶在 Docker 中安裝和啟動後對文件進行刪除、認證和加密; 此功能在其他地方也有提到。 以下是文件的連結及API 端點.

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

例如,要提交文件進行加密,您可以向 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'
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'curl -X 'POST' \ 'http: -H 'accept: */ *' \ -H 'Content-Type: multipart/form-data' \ -F 'pdf_file=@test.pdf;type=application/pdf'
VB   C#

這樣做會將文件發送到IronSecureDoc,並適當地對其加密。

結論

總之,Docker Compose 與 IronSecureDoc 的整合在開發和部署中需要處理安全文件的應用程式的效率和可靠性方面發揮了重要作用。 使用 Docker Compose 的好處在於能有效管理多容器應用程式,從而允許其他服務和相依性與 IronSecureDoc 一起進行協調。 這將進一步保證開發環境的一致性,簡化許多配置任務,並提高在不同部署環境中的可擴展性。

此外,這些文件功能,包括加密、去除敏感信息和安全共享,都可以在這樣的容器化架構中很好地利用。 簡而言之,通過結合 Docker Compose 和 IronSecureDoc,開發者的工作流程獲得了巨大的價值,這簡化了開發程序,並為現代應用中的敏感文件相關任務提供了安全、高效且可維護的解決方案。 如需了解有關IronSecureDoc許可的更多信息,請點擊此處。頁面. 按一下此 連結了解更多有關 Iron Software 各種產品的資訊。

< 上一頁
Docker Compose 環境變數(開發者教程)
下一個 >
如何安裝 Portainer(開發人員教程)

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

免費下載 查看許可證 >