使用 IRONSECUREDOC

從映像啟動 Docker 容器(開發者教程)

發佈 2024年12月16日
分享:

什麼是 Docker?

Docker是一個開源平台,能夠自動部署和管理位於輕量級、可移植容器內的應用程式。 容器將應用程式及其依賴項一起封裝,其中包括庫和配置文件,以便它能夠在不同環境中一致運行。 這將使開發和測試更加簡單,因為應用程式可以在不同系統上運行,例如在開發者的筆記本電腦、伺服器或其他平台上都可以保持一致。雲端環境. 在應用程式管理中的可擴展性意味著有效地開發、交付和運行容器,而Docker具備這項能力。

Docker 從映像啟動容器(開發者教程):圖 1 - Docker

在許多方面,Docker 映像使開發人員更容易指定一致的運行環境。 大多數預設鏡像可以在一個名為 Docker Hub 的開放註冊表中找到,開發人員可以直接使用它們或根據自己的需求更改內容。 對於涉及多個容器的應用程式,使用像 Docker Compose 這樣的工具來協調容器,而 Kubernetes 則可以管理更困難的擴展和自動化。 因此,Docker 已成為軟體開發和 DevOps 的必備工具。

什麼是 Docker 容器?

ADocker 容器基本上,它是一個應用程式,包含所有相依項,例如庫、二進位檔案和配置檔案,打包成一個輕量級的獨立可執行實體。 獨立設計的容器將運行在主機操作系統的核心之上,但避免受其他運行中的軟體干擾。 由於易於啟動、停止或刪除,使它們非常適合用於測試、部署和擴展。

Docker 容器功能

  • 隔離: 容器在隔離的環境中運行; 即使使用不同的相依項或程式庫,應用程式彼此間也不會衝突。
  • 輕量級: 由於容器共享主機操作系統的核心,它們相當小且啟動時間比虛擬機(VMs)更快。
  • 可移植性: 使用 Docker 的容器在任何其他系統上運行是確定的,因此在開發、測試和生產環境中保持一致。
  • 擴展性: 容器可以輕鬆複製和擴展,並支持微服務的快速部署和管理。
  • 資源效率: 容器比虛擬機(VM)消耗的資源更少,因此需要更高密度並有效利用計算資源。

什麼是 Docker 映像?

因此,Docker 映像是一個建立容器的指令; 它是唯讀的且是分層的,這指的是系統文件加上運行應用程式所需的依賴項。 Dockerfiles 用於形成映像,其中包含如何構建 Docker 映像,這和安裝軟體或複製檔案一樣繁瑣。 每次這個 Dockerfile 改變時,會創建一個新的映像層,以保持高效和模組化。 它啟動一個映像,然後根據該映像簡單地執行容器實例並使其運行。

Docker 映像的功能

  • 多層堆疊: 圖像是由多個層組成的,使用Dockerfile時,每條指令都會產生一層工作。 因此,建置應進行優化,因為他們只需重建已更改的層。
  • 重用性: 基礎映像檔如 Ubuntu 或 node 可以從一個專案重複使用到另一個專案; 這節省了大量的開發時間和資源。
  • 版本控制: 圖像可以標記以支援版本控制。 這將使在需要時回滾至先前版本變得更加容易。
  • 模組化: 對圖像的所有更改都是增量的,因此更新很容易,甚至直接就能進行,而不需要重新構建完整的圖像。
  • 可在 Docker Hub 上獲得: 公共和私人映像註冊庫,使共享和部署映像變得容易。

如何建立 Docker 容器?

Dockerfile 是一個文本文件,用於提供建立 Docker 映像的指令。 在此文件中,您應該包含基礎映像檔、相依性、應用程式代碼、環境變數,以及用於執行應用程式的命令。 以下是一個簡單的示例:

# Use an official Node.js runtime as a parent image
FROM node:18
# Set the working directory in the container
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json /app
RUN npm install
# Copy the rest of the application code
COPY . /app
# Expose the application’s port
EXPOSE 3000
# Define the command to run the application
CMD ["node", "app.js"]
# Use an official Node.js runtime as a parent image
FROM node:18
# Set the working directory in the container
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json /app
RUN npm install
# Copy the rest of the application code
COPY . /app
# Expose the application’s port
EXPOSE 3000
# Define the command to run the application
CMD ["node", "app.js"]
#Use an official Node.js runtime as a parent image
#Set the working directory in the container
#Copy package.json and install dependencies
#Copy the rest of the application code
#Expose the application's port
#Define the command to run the application
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'FROM node:18 WORKDIR /app COPY package.json /app RUN npm install COPY. /app EXPOSE 3000 CMD ["node", "app.js"]
VB   C#

建置 Docker 映像檔

使用 Dockerfile 建立您的 Docker 映像檔。 在包含您的 Dockerfile 的目錄中,從終端命令行執行以下命令:

確保在運行以下代碼之前安裝 Docker 桌面版。

docker build -t my-app .
docker build -t my-app .
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker build -t my-app.
VB   C#

建立一個名為 my-app 的映像。要確認已建立映像,可以執行 Docker images。

運行 Docker 容器

使用映像檔,您可以建立 Docker 容器,然後使用 docker run 指令運行它。 Docker 守護程序將以分離模式或背景運行的方式啟動和監控進程。

docker run -d -p 3000:3000 --name my-running-app my-app
docker run -d -p 3000:3000 --name my-running-app my-app
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -d -p 3000:3000 --name my-running-app my-app
VB   C#
  • -d:分離 Docker 容器的模式。
  • -map 3000:3000 將主機映射到容器中埠 3000。
  • --name my-running-app:將使用者定義的名稱指定給容器。

驗證容器

要檢查正在運行的 Docker 容器,請使用:

docker ps
docker ps
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker ps
VB   C#

從映像啟動 Docker 容器 (開發者教程):圖 2 - 執行 Docker 容器

上述程式碼顯示了運行容器的詳細資訊,包括容器 ID、名稱、映像名稱等。

停止並移除容器

//Stop container
docker stop dazzling_snyder
// Remove container
docker rm dazzling_snyder
//Stop container
docker stop dazzling_snyder
// Remove container
docker rm dazzling_snyder
'Stop container
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker @stop dazzling_snyder docker rm dazzling_snyder
VB   C#

Docker 從映像啟動容器 (開發者教程): 圖 3 - 停止容器

什麼是IronSecureDoc?

IronSecureDocDocker 是 Iron Software 提供的容器化文件處理解決方案,可以在 Docker 環境中自動處理文件,無需任何人工干預。 它提供複雜的文件工作流程和最高的資料保護,包括加密、數位簽名、解密、浮水印等多方面的 PDF 和文件檔案功能。 它確保跨平台的一致且可擴展的隔離部署,因此將其適合於DevOps和CI/CD管線集成。

從映像啟動 Docker 容器(開發者教程):圖 4 - IronSecureDoc:PDF 安全和合規伺服器

這種容器化的方法增強了需要自動化和高安全性兼容的應用程式中的文檔處理,以及微服務和雲端原生環境的相容性。 IronSecureDoc 對於需要在受控且可移植的 Docker 環境中進行可靠的自動文檔處理的開發人員來說,通常非常有用。

安裝並運行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 從映像啟動容器(開發者教程):圖 5 - 下載 IronSecureDoc 映像

在拉取 Docker 映像後,我們可以執行另一個命令來啟動一個名為 IronSecureDoc 的運行容器。

為 IronSecureDoc 創建新的容器

docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -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 ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
VB   C#

上述的 Docker 執行命令將創建一個 IronSecureDoc 的容器實例。

Docker 從映像啟動容器(開發者教程):圖 6 - 新容器

使用 IronSecureDoc 容器

IronSecureDoc 已使用戶能夠在 Docker 中安裝和運行,通過其 REST API 來編輯、認證或加密文件。

Docker 從映像啟動容器(開發者教程):圖 7 - SecureDoc Web 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 使應用程式的部署非常順利,因為開發人員可以從映像檔創建容器。 因此,在可移植和可擴展的環境中具有一致性。 這使得從映像啟動 Docker 容器變得非常可能,從而實現跨平台應用程序的流暢運行,並且通過靈活的擴展有效地利用資源,對 DevOps 和 CI/CD 管道非常有利。

同樣地,IronSecureDoc Docker 利用 Docker 的容器化架構提供安全、自動化的文件處理解決方案。 Docker 和 IronSecureDoc 共同提供強大的工具,用於在現代軟體開發中構建安全且可擴展的應用程式。 如需了解有關 IronSecureDoc 授權的更多信息,請點擊此處。授權頁面以及有關 Iron Software 許多產品的詳細資訊,請參閱此程式庫套件頁面.

< 上一頁
Docker Compose 網路(對開發者的運作方式)
下一個 >
Docker 簽署 PDF(開發者教程)

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

免費下載 查看許可證 >