跳至頁尾內容
使用 IRONSECUREDOC

Docker Compose 建置(開發者教學)

什麼是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 請求來加密文件。使用 `curl` 指令上傳文檔,並指定本機文件路徑和加密參數。此操作會將文件安全地儲存在 Docker 容器中。

柯蒂斯·週
技術撰稿人

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

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