使用 IRONSECUREDOC

Docker Compose 環境變數(開發者教程)

發佈 2024年12月16日
分享:

介紹

在不同環境中部署應用程式經常會導致相容性問題。 一個應用程式可能在開發者的機器上運行良好,但在測試或生產環境中出現問題,這是由於作業系統、依賴項或配置的差異所造成的。 Docker透過將應用程式打包成自包含的單元來解決這個問題,這些單元包含運行應用程式所需的一切,確保從開發到生產環境都可以一致地運行。

Docker Compose 為容器化應用程式帶來強大的好處,特別是在使用環境變數方面,可以簡化不同設置的配置。 藉由允許在程式碼之外管理關鍵設置,Docker Compose 使得部署複雜應用程序更加簡單和安全。 建立在這些優勢之上,本文還將展示您如何使用IronSecureDoc以安全文件處理,利用 Docker Compose 的靈活性有效地處理加密和刪除的配置。

什麼是 Docker?

Docker是一個開源系統,透過容器化簡化應用程式的開發、部署和運行。 容器是超輕量的可攜式單元,其中包含應用程式及其相依項,因此它們可以在任何地方一致運行,從開發者的機器到生產伺服器。 與傳統虛擬機器相比,容器共享主機操作系統的內核,因此速度更快且更有效。

Docker Compose 環境變量(開發者教程):圖1 - Docker 網頁

這將意味著以 Docker 映像的形式虛擬化模板,以製作和維護這組容器。 此外,該平台包含 Docker Hub,這在某種程度上是一個容器映像庫。 這項技術的美妙之處在於它在可擴展性、可攜性和效率上易於使用,這也是它在許多 DevOps 和基於雲的開發工作流程中贏得如此廣泛青睞的一個原因。

在 Docker-Compose 中什麼是環境變數?

在 Docker 中,以鍵值對形式的環境變數用於配置容器化應用程式的設置。 這樣的變數可以用來控制應用程式本身的行為,而無需修改其程式碼,因為可以輕鬆地配置如資料庫憑據和 API 金鑰或環境模式等設定。(例如:開發、生成)可能會改變。

在 Docker 中,環境屬性可以在 Dockerfile 中定義,或在 docker-compose.yml 文件中定義,或者在運行時使用 docker run 命令傳遞。 使用環境變數,Docker 允許在不同環境中進行一致且靈活的應用程式部署,並更有效地管理密碼和 API 令牌等敏感數據。

如何在 Docker 中創建環境變量?

我們可以通過多種方式在 Docker 中定義環境變量。 它們可以透過 Docker Compose 文件、docker-compose.yml 文件、環境文件來定義,或者甚至在執行時,以您執行 docker run 指令時定義。 請記住,將環境變數與主要配置文件分開可以更輕鬆地組織變數。! 以下是可用來定義變數的各種方法列表。

在 Docker 檔案中設定環境變數

我們可以在 Docker 文件中直接使用 ENV 指令來定義環境變數。 如果您希望在 Docker 映像中包含變數的默認值,這會很有幫助。

# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
#Dockerfile
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ENV APP_ENV=devepolment ENV DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

在 Docker 檔案中設定環境變數的值後,將自動啟動容器的執行。

在 Docker-Compose.yml 中設置環境變數

我們可以透過環境(environment)這個關鍵字,在 docker-compose.yml 中為每個服務定義環境變數。 當您使用 Docker Compose 管理多個服務時,這非常方便。

version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
version:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
''3.8' services: myapp: image: myapp:latest environment: - APP_ENV=development - DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

在運行時設定環境變數

我們可以在執行容器時使用 docker run 命令的 -e 標誌來指定環境變數。 這對於短暫和動態的值是有好處的,這些值你可能不會添加到 Docker 文件中。

docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -e APP_ENV=development -e DATABASE_URL=postgres: 'user:password@db:1234/mydev:latest
VB   C#

使用環境檔案 (.env)

我們可以將環境變數存儲在像 .env 這樣的檔案中,並將它們加載到您的 Docker 容器中。 在 Docker Compose 中,我們將使用 env file 指令來引用它。

APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'APP_ENV=production DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

我們可以通過 env 檔案的幫助,管理多個檔案以及配置檔案之外的環境變數。

什麼是IronSecureDoc?

IronSecureDoc適用於 Docker 的工具讓開發人員能夠輕鬆地將安全文件處理功能添加到他們的容器化應用程式中。 最終學會了 Docker,您可以在統一的環境中將您的 ASP.NET Core 應用程式與 IronSecureDoc 封裝在一起,這使得部署和擴展變得更容易。 為此,您將建立一個 Dockerfile,協調使用 IronSecureDoc 庫構建 ASP.NET Core 應用程式,並可能需要其他安裝腳本或配置來使之運行。

Docker Compose 環境變數(開發者教程):圖 2 - IronSecureDoc 網頁

此外,它包括一個 docker-compose.yml 檔案,宣告服務的相依性和環境變數,以及對應的埠資訊以便使用。 這讓執行文件安全任務變得更加容易,因此您的應用程式可以在與開發或生產階段不同的環境中高效運行。 IronSecureDoc 的安裝與配置 如同 Docker 的情況,需要正確安裝和配置 IronSecureDoc,才能充分發揮其功能:文件加密、編輯等。

IronSecureDoc 的主要特點

IronSecureDoc 提供一系列強大的功能,用於 PDF 安全性和文件管理:

  • 加密:提供基於密碼的安全性,提供128位或256位加密以保護文件機密性。
  • 編輯:刪除敏感資訊,例如個人識別碼,以符合隱私標準和規範。
  • 數位簽名:支持使用 .pfx 或 .p12 憑證進行數位簽名和公證,以確保文件的真實性。
  • REST API:靈活的 API 能夠與其他軟體和工作流程無縫整合。
  • Docker 整合:對 Docker 的原生支持簡化了雲端或內部部署應用的部署和擴展。

    這些功能使 IronSecureDoc 成為處理敏感文件的行業(例如法律、醫療和金融)的一個極佳選擇。

安裝和執行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 環境變數(開發者教程):圖 3 - 獲取 IronSecureDoc 映像的控制台輸出

第2步

一旦 IronSecureDoc 映像檔已被拉取。 我們可以使用以下的 docker-compose 命令將映像運行在 docker 容器中。

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 環境變數(開發者教程):圖 4 - 執行 IronSecureDoc 映像的控制台輸出

我們使用 Docker 容器運行 IronSoftware 的官方存儲庫。 上面顯示的命令行分解為幾個部分,下面進行解釋。

命令說明

  • docker container run - 此命令使用給定的映像來建構並啟動新的 Docker 容器。
  • --rm - 容器一旦停止運行就自動清理。 在完成任何過程時,它會移除所有未使用的容器。
  • -p 8080:8080 - 讓它發布容器的 8080 埠,這樣您可以從 http://localhost:8080 在您的機器上訪問它。
  • -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> - 在運行的容器中設置名為 IronSecureDoc_LicenseKey 的環境變量,允許您啟用和使用 IronSecureDoc 的授權功能。 將 <IRONSECUREDOC_LICENSE_KEY> 替換為您的實際密鑰。
  • -e ENVIRONMENT=Development - 環境變數設定為 Development。 這意味著容器需要以開發模式運行。 通常,此容器用於測試或除錯案例; 除此之外,它與非生產配置有所不同。
  • -e HTTP_PORTS=8080 - 此環境變數用於指定容器應暴露並監聽端口8080以處理HTTP流量。 它確保透過這個特定的埠進入容器內的服務得以實現。
  • ironsoftwareofficial/ironsecuredoc:latest - 這只是一個 Docker 映像。 Docker 本身將從 Docker 的註冊表中創建 IronSecureDoc 的最新映像版本。

IronSecuredoc 容器

IronSecureDoc 的 REST API 讓用戶在 Docker 中啟動後可以對文件進行內容刪除、認證和加密; 此功能在其他地方也有提到。 這裡是連結到API 端點以及使用 Swagger UI 的文件,一旦您在 Docker 容器中啟動了 IronSecureDoc:http://localhost:8080/swagger/index.html

Docker Compose 環境變數(開發者教程):圖 5 - Swagger UI 供您與 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'
'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 的環境變數使應用程式的配置變得非常靈活且高效,因為配置細節會自動與應用程式代碼分離。 因此,管理不同的環境(例如開發、測試和生產)變得更簡單,因為只需更改應用程式的變數,如 API 金鑰、數據庫憑證和設置,而不需要更改其代碼。

使用 Docker Compose 實現 IronSecureDoc 時,利用環境變數來安全處理授權信息,例如 IronSecureDoc_LicenseKey,並使用環境變數指定 HTTP 端口或環境模式,選擇開發或生產模式。 使用環境變數進行設置,可以更加簡化地部署IronSecureDoc,減少混亂和難以擴展的配置,並提高安全性。

有效後可使用進階功能授權IronSecureDoc 的。 該工具的應用嚴格依賴於某些使用條款。 雖然你也可以使用其他高效能的函式庫,這些函式庫IronSoftware提供了可靠的功能,使開發過程更簡單、更快速,適用於處理PDF、文字識別和條碼的各種應用程序。

Docker Compose 環境變數(開發者教程):圖 6 - IronSecureDoc 授權頁面

< 上一頁
Docker 容器列表(開發人員如何使用)
下一個 >
Docker Compose 構建(開發者教程)

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

免費下載 查看許可證 >