使用 IRONSECUREDOC Docker Compose Network(如何為開發人員運作) Curtis Chau 更新:6月 22, 2025 下載 IronSecureDoc 免費下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 什麼是Docker ? Docker 是一個開源平台,它使用基於容器的概念來自動部署和擴展輕量級、可移植容器中的應用程式。 簡單來說,Docker 容器將所有應用程式程式碼及其相依性放在一個單元中,從而在各種環境中保持一致——從開發人員的筆記型電腦到測試伺服器或生產雲端伺服器。 Docker Compose 網路(開發者使用指南):圖 1 容器的行為與傳統的虛擬機器(VM) 不同,因為它們共用宿主系統的作業系統核心。 因此,容器化系統效率更高,啟動速度更快。 事實上,Docker 容器能夠確保開發週期所有階段的行為一致性。 實際上,Docker 映像是一種模板,用於描述承載應用程式環境的容器。 該套件還包括用於管理容器生命週期的工具包。 例如,Docker Compose 可用於編排由多個容器組成的應用程式。 另外還有 Docker Hub,這是一個用於共享映像的映像倉庫。 什麼是 Docker Compose 網路? Docker Compose 網路允許在 Docker Compose 應用程式中執行的服務在同一個封裝環境中相互通訊。 如果在docker-compose.yml檔案中定義了多個服務,Docker Compose 會自動建立一個預設網絡,以便這些服務可以使用服務名稱作為主機名稱相互通訊。 從本質上講,它允許用戶定義自己的網絡,並利用該網絡創建多種服務。 預設橋接網絡:如果您在執行docker-compose up時沒有為容器定義網絡,Docker 會自動建立一個橋接網絡。 在此預設驅動程式網路上,所有容器都可以使用其服務名稱作為主機名稱相互通訊。 自訂網絡:透過這些選項,使用者可以定義一個或兩個自訂網絡,甚至可以定義更多使用者自訂網絡。 您可以在容器連接埠和docker-compose.yml檔案中定義自訂網路。透過將服務指派給這些網絡,您可以控制容器之間的通訊方式: 內部網路將服務與其他服務隔離。 多網路允許某些服務相互通信,同時拒絕其他服務進行此類存取。 服務發現:每個服務都會獲得一個與其在配置中的名稱相同的主機名稱。 也就是說,在一個容器中,你可以使用另一個服務的名稱來引用它。例如,在 Web 服務中,你可以使用db來引用資料庫容器的 IP 位址。 網路模式:您也可以設定網路模式,以使用主機、橋接或無模式來提供服務。 最常用的方法是架橋,它可以隔離貨櫃運輸。 什麼是 Docker 網路驅動程式? Docker 網路驅動程式描述了容器之間以及容器與其他容器和系統之間的連接和通訊。 網路驅動程式有多種使用場景,可以應用於這些場景,每種場景都能提供不同程度的隔離性、連接性和效能。 我們將逐一介紹每個網路驅動程式並解釋其用途。 Docker網路驅動程式的類型 橋接(預設) Docker 內部網路允許容器基於同一主機與其他容器通訊。如果在啟動容器時未指定網絡,Docker 將使用預設的橋接網絡。 # Create a custom bridge network docker network create --driver bridge my_bridge_network # Run containers and connect to the custom network docker run -d --name container1 --network my_bridge_network busybox sleep 3600 docker run -d --name container2 --network my_bridge_network busybox sleep 3600 # Create a custom bridge network docker network create --driver bridge my_bridge_network # Run containers and connect to the custom network docker run -d --name container1 --network my_bridge_network busybox sleep 3600 docker run -d --name container2 --network my_bridge_network busybox sleep 3600 SHELL 在這裡,可以使用服務名稱進行通信,例如ping container1和container2 。 Host 使用主機驅動程式時,容器直接共用主機網路堆疊,因此容器無法取得自己的自訂網路隔離。 # Run a container using the host network docker run -d --network host nginx # Run a container using the host network docker run -d --network host nginx SHELL NGINX 容器現在與主機共用 IP 和網路接口,從而繞過了網路隔離。 Overlay 它連接多個主機上的容器,主要用於 Docker Swarm 或 Kubernetes 環境,透過容器連接實體機或虛擬機,使用虛擬網路進行安全通訊。 # Create an overlay network for use in a Docker Swarm cluster docker network create -d overlay my_overlay_network # Deploy a service in the Swarm cluster docker service create --name web --network my_overlay_network nginx # Create an overlay network for use in a Docker Swarm cluster docker network create -d overlay my_overlay_network # Deploy a service in the Swarm cluster docker service create --name web --network my_overlay_network nginx SHELL 這樣就在 Swarm 叢集中建立了一個服務,該服務可以跨多個 Docker 主機運行。 None 此非驅動程式會停用容器的網路功能。 此容器與任何類型的外部網路通訊隔離。 # Run a container with no network docker run -d --network none busybox sleep 3600 # Run a container with no network docker run -d --network none busybox sleep 3600 SHELL busybox 容器將無法存取互聯網,也無法向其他容器本身的網路或外部世界發送呼叫。 Macvlan Macvlan 驅動程式可讓容器作為網路中的實體裝置出現,並擁有自己的 MAC 位址,從而可以直接存取實體網路。 # Create a Macvlan network docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=eth0 macvlan_network # Run a container on the Macvlan network docker run -d --network macvlan_network busybox sleep 3600 # Create a Macvlan network docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=eth0 macvlan_network # Run a container on the Macvlan network docker run -d --network macvlan_network busybox sleep 3600 SHELL IPvlan IPvlan 驅動程式與 Macvlan 類似,但它專注於分配 IP 位址,而不是依賴第 2 層(MAC 位址)。 它允許多個容器共用同一個網路介面。 # Create an IPvlan network docker network create -d ipvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 ipvlan_network # Run a container on the IPvlan network docker run -d --network ipvlan_network busybox sleep 3600 # Create an IPvlan network docker network create -d ipvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 ipvlan_network # Run a container on the IPvlan network docker run -d --network ipvlan_network busybox sleep 3600 SHELL 它將與網路共享主機的二層乙太網路接口,但具有不同的 IP 位址。 自訂插件 Docker 的自訂外掛程式是第三方或用戶開發的網路驅動程序,提供比 Docker 預設提供的更豐富的網路功能。 第三方 Docker 外掛程式可與軟體定義網路等外部網路解決方案框架集成,從而提高安全性、可擴展性以及多主機網路等功能。 Docker 為開發者和供應商提供了一個用途廣泛的網路插件架構,允許以與原生驅動程式相同的方式安裝和使用它們。 IronSecureDoc IronSecureDoc for Docker 使開發人員能夠輕鬆地在其容器化應用程式中添加安全文件處理功能。 透過 Docker,您可以將具有 IronSecureDoc 的 ASP.NET Core 應用程式封裝在統一的環境中,從而簡化部署和擴充。 要運行它,你需要建立一個 Dockerfile,該 Dockerfile 使用 IronSecureDoc 庫來建立你的 ASP.NET Core 應用程序,並且可能還需要其他安裝腳本或配置才能使程式正常運作。 Docker Compose 網路(開發者使用指南):圖 2 - IronSecureDoc 它還包含一個docker-compose.yml文件,其中包含服務依賴項、環境變數和映射端口,從而提供對此的存取。 因此,與文件安全相關的任務更容易管理,從而使您的 Web 應用程式能夠在開發或生產環境之外高效運行。 若要利用 IronSecureDoc 的所有功能(例如文件加密、編輯等),必須像在 Docker 中一樣安裝和設定。 安裝並執行 IronSecureDoc 在命令提示字元或開啟的終端機視窗中執行以下命令,以便從儲存庫中取得 IronSecureDoc Docker 映像。 # Pull IronSecureDoc Docker image docker pull ironsoftwareofficial/ironsecuredoc # Pull IronSecureDoc Docker image docker pull ironsoftwareofficial/ironsecuredoc SHELL Docker Compose 網路(開發者使用指南):圖 3 從 Docker 儲存庫拉取映像後,您可以使用另一個指令啟動 IronSecureDoc 作為運行容器。 # Run a container with network isolation and environment variables docker container run --rm -p 8080:8080 \ -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \ -e ENVIRONMENT=Development \ -e HTTP_PORTS=8080 \ ironsoftwareofficial/ironsecuredoc:latest # Run a container with network isolation and environment variables 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 運行命令將啟動 IronSecureDoc 的容器實例。 假設採用橋接網路進行網路隔離。 這也使得可以透過http://localhost:8080使用標誌-p 8080:8080來從外部存取容器內公開的服務; 這會將運行在容器網路 8080 連接埠上的內部服務暴露給主機網路的 8080 連接埠。 預設情況下,容器運行在 Docker 的橋接網路上,因此它們會將自己與其他容器和外部世界隔離,除非你透過連接埠映射將它們暴露出來,而你在這裡正是這樣做的。 傳遞的環境變數( IronSecureDoc_LicenseKey 、 ENVIRONMENT 、 HTTP_PORTS )配置應用程式在容器中的行為。 --rm標誌會使容器在停止運作時被刪除。 這種設定的優點在於,橋接網路隔離容器並在內部連接服務,而連接埠對映將來自主機的外部流量橋接到容器的服務中,以便方便存取。 Docker Compose 網路(開發者使用指南):圖 4 使用 IronSecureDoc 和 Docker 網路端口 IronSecureDoc 的 REST API 允許使用者在 Docker 中安裝和啟動時對文件進行編輯、認證和加密。 如需更多詳細步驟,請參閱此處的文件。 例如,要提交文件進行加密,您可以向 IronSecureDoc API 發送 POST 請求: # POST a document for encryption using cURL 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' # POST a document for encryption using cURL 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 網路對於控制應用程式互動以及它們透過不同的驅動程式和配置與其他應用程式和外部世界的通訊至關重要,以滿足各種應用程式的需求。 預設的橋接網路配置允許基本隔離,因為可以透過連接埠對映將服務暴露給主機系統,IronSecureDoc 應用程式就是一個例子。 它有助於更輕鬆地管理和配置容器化應用程序,從而增強應用程式的運行靈活性和可擴展性。 IronSecureDoc 是一款先進的文件處理工具,它利用 Docker 的容器化功能,實現了快速可靠的應用程式部署。 這確保了對多種環境的支持,同時將 Docker 網路與 IronSecureDoc 無縫集成,使應用程式的整合變得簡單、易於存取和管理。 因此,它簡化了工作流程,提高了效率,增強了操作,尤其是在處理文件時。 這最終豐富了開發和部署體驗,使其成為現代軟體應用程式的寶貴解決方案。 有關 IronSecureDoc 許可的更多信息,請訪問此頁面。 要了解 Iron Software 的更多產品信息,請點擊此鏈接。 常見問題解答 Docker Compose 網路如何促進服務通訊? Docker Compose 網路允許 Docker Compose 應用程式內的服務使用服務名稱作為主機名稱進行通訊,從而在相同的封裝環境中進行互動。 Docker Compose 中默認橋接網路的角色是什麼? 如果沒有定義特定網路,Docker 自動建立的預設橋接網路會允許容器使用其服務名稱作為主機名稱彼此通訊。 自訂網路如何增強 Docker Compose 應用程式? Docker Compose 中的自訂網路可透過在 docker-compose.yml 檔案中定義的服務間隔離和選擇性通訊來增強應用程式。 Docker 網路驅動程式有哪些類型,其用途為何? Docker 網路驅動程式,例如 bridge、host、overlay、none、Macvlan 和 IPvlan,可提供不同層級的隔離、連線和效能,適合不同的應用程式需求。 覆疊網路驅動程式如何支援多主機通訊? 覆疊網路驅動程式可跨多台主機連接容器,透過虛擬網路提供安全通訊,常用於 Docker Swarm 或 Kubernetes 環境。 為什麼安全的文件處理在容器環境中很重要? 安全的文件處理(例如使用 IronSecureDoc)在容器環境中非常重要,因為它可以利用 Docker 的網路功能有效地封裝、部署和擴充應用程式。 如何使用 Docker 設定安全的文件處理? 您可以在 Docker 中設定安全的文件處理,方法是在容器中部署 IronSecureDoc 等工具,透過 Dockerfile 和 docker-compose.yml 來設定環境,以達到網路隔離的目的。 在 Docker 中透過 REST API 加密文件需要哪些步驟? 若要在 Docker 內透過 REST API 加密文件,請在容器化設定中使用 cURL 等工具,將載有文件和參數的 POST 請求傳送至安全文件處理 API。 Docker 的網路功能如何改善應用程式的可擴充性? Docker 的網路功能可有效管理服務間的互動和通訊,簡化工作流程和部署體驗,從而增強應用程式的可擴展性。 將 IronSecureDoc 整合至現有 Docker 系統的流程為何? 透過使用 Docker 指令進行設定,將 IronSecureDoc 整合至現有的 Docker 系統,利用連接埠對應和環境變數確保一致的部署和擴充。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 相關文章 更新7月 22, 2025 immich Docker Compose(對開發人員而言如何運作) Immich Docker 是 Immich 的設定,這是一個在 Docker 容器內的開放原始碼、自行託管的相片與視訊備份解決方案。Docker 是一個輕量且被廣泛採用的平台,用於開發、散佈 閱讀更多 更新6月 22, 2025 Wazuh Docker Compose (開發人員如何使用) Wazuh Docker 是 Wazuh 安全平台的 Docker 化部署,可簡化並加強安全監控、威脅偵測和法規遵循管理的實施 閱讀更多 更新6月 22, 2025 Coolify Docker Compose (開發人員如何使用) Coolify 是一個開放原始碼的自助式平台,旨在讓部署和管理應用程式、資料庫和網站變得更容易。 閱讀更多 Nextcloud Docker Compose(對開發人員而言如何運作)Docker 從映像啟動容器(開...
更新7月 22, 2025 immich Docker Compose(對開發人員而言如何運作) Immich Docker 是 Immich 的設定,這是一個在 Docker 容器內的開放原始碼、自行託管的相片與視訊備份解決方案。Docker 是一個輕量且被廣泛採用的平台,用於開發、散佈 閱讀更多
更新6月 22, 2025 Wazuh Docker Compose (開發人員如何使用) Wazuh Docker 是 Wazuh 安全平台的 Docker 化部署,可簡化並加強安全監控、威脅偵測和法規遵循管理的實施 閱讀更多
更新6月 22, 2025 Coolify Docker Compose (開發人員如何使用) Coolify 是一個開放原始碼的自助式平台,旨在讓部署和管理應用程式、資料庫和網站變得更容易。 閱讀更多