亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker?Swarm?操作對容器端口影響記錄

 更新時間:2025年04月09日 08:47:56   作者:xiao智  
在使用Docker Swarm 構(gòu)建集群環(huán)境過程中,于ts3節(jié)點出現(xiàn)了原有的容器端口全部失效,手動重啟后才恢復(fù)的情況,這篇文章主要介紹了Docker Swarm操作對容器端口影響,需要的朋友可以參考下

一、背景闡述

在使用 Docker Swarm 構(gòu)建集群環(huán)境過程中,于 ts3 節(jié)點出現(xiàn)了原有的容器端口全部失效,手動重啟后才恢復(fù)的情況。期間涉及 docker swarm init --advertise-addr=172.16.10.110 以及 docker swarm join --token <MANAGER-TOKEN> <MANAGER-IP>:<MANAGER-PORT> 等操作,下面深入探究為何會出現(xiàn)端口失效及恢復(fù)的現(xiàn)象。

角色IPhostname
Manager1172.16.10.110ts3
Manager2172.16.10.111ts4
Worker1172.16.10.120harbor

手動重啟容器后才恢復(fù)的情況

二、端口失效原因剖析

(一)網(wǎng)絡(luò)配置變更因素

  • 覆蓋網(wǎng)絡(luò)創(chuàng)建影響
    • 當執(zhí)行 docker swarm init 或 docker swarm join 操作時,Docker 為保障 Swarm 集群內(nèi)部高效通信,會創(chuàng)建新的覆蓋網(wǎng)絡(luò)(overlay network)。此網(wǎng)絡(luò)構(gòu)建過程涉及復(fù)雜的網(wǎng)絡(luò)配置調(diào)整。
    • 例如,新覆蓋網(wǎng)絡(luò)的創(chuàng)建需要分配新的網(wǎng)絡(luò)段、子網(wǎng)掩碼等參數(shù),這些參數(shù)的變更直接影響到節(jié)點的網(wǎng)絡(luò)拓撲結(jié)構(gòu)。原有的容器若依賴于之前的網(wǎng)絡(luò)配置,如靜態(tài) IP 地址綁定、基于舊網(wǎng)絡(luò)段的端口映射規(guī)則,在新覆蓋網(wǎng)絡(luò)生成后就會失效。
  • iptables 規(guī)則動態(tài)調(diào)整
    • Docker 在 Swarm 操作期間會動態(tài)修改 iptables 規(guī)則。iptables 作為 Linux 系統(tǒng)下強大的防火墻工具,管控著網(wǎng)絡(luò)流量的流入、流出以及端口轉(zhuǎn)發(fā)等操作。
    • 比如,初始化 Swarm 時,為實現(xiàn)集群內(nèi)服務(wù)間的負載均衡與通信隔離,Docker 會新增一系列允許或限制特定端口、IP 段流量的規(guī)則。這些新規(guī)則可能與原容器端口映射所依賴的 iptables 舊規(guī)則沖突,致使原容器端口無法正常對外提供服務(wù),出現(xiàn)端口失效現(xiàn)象。

(二)服務(wù)發(fā)現(xiàn)與 DNS 變更因素

  • 服務(wù)發(fā)現(xiàn)機制更新
    • Swarm 集群擁有自身一套完備的服務(wù)發(fā)現(xiàn)機制,旨在讓集群內(nèi)各個服務(wù)、容器能精準定位彼此。當節(jié)點執(zhí)行 Swarm 相關(guān)操作時,這套服務(wù)發(fā)現(xiàn)機制會被重新配置。
    • 例如,原本容器依靠基于節(jié)點主機名或自定義服務(wù)名的發(fā)現(xiàn)規(guī)則來建立網(wǎng)絡(luò)連接,在 Swarm 初始化或節(jié)點加入后,服務(wù)發(fā)現(xiàn)規(guī)則轉(zhuǎn)變?yōu)榛?Swarm 內(nèi)部生成的唯一服務(wù) ID 或虛擬 IP 地址。容器若未及時適應(yīng)這種變化,仍按舊規(guī)則尋找服務(wù)或端口,必然導(dǎo)致通信失敗,端口映射看似失效。
  • DNS 配置重新加載
    • 伴隨 Swarm 操作,DNS 配置同步更新。在集群環(huán)境下,DNS 用于解析服務(wù)名、容器名等標識到對應(yīng)的 IP 地址,確保網(wǎng)絡(luò)通信順暢。
    • 例如,新加入 Swarm 的節(jié)點可能會從管理節(jié)點獲取全新的 DNS 服務(wù)器地址與解析策略。容器啟動時依據(jù)的是舊 DNS 配置,運行過程中未能及時刷新 DNS 信息,那么在嘗試通過域名訪問其他服務(wù)時,就無法正確解析,使得依賴于域名解析的端口通信受阻,端口失效。

(三)資源重新分配因素

  • IP 地址動態(tài)調(diào)配
    • 在 Swarm 集群搭建與節(jié)點加入過程中,IP 地址常常會被重新分配。這是為了滿足集群統(tǒng)一管理、資源優(yōu)化配置的需求。
    • 例如,原容器綁定了特定的 IP 地址,在節(jié)點加入 Swarm 后,根據(jù)集群的 IP 管理策略,該 IP 地址可能被回收并重新分配給其他服務(wù)或容器。此時,原容器基于舊 IP 地址的端口映射自然失效,若不重啟容器獲取新 IP 地址,端口將無法正常工作。
  • 網(wǎng)絡(luò)命名空間更迭
    • 每次 Swarm 操作都可能引發(fā)網(wǎng)絡(luò)命名空間的更迭。網(wǎng)絡(luò)命名空間是 Linux 系統(tǒng)中隔離網(wǎng)絡(luò)資源的一種機制,不同的網(wǎng)絡(luò)命名空間擁有獨立的網(wǎng)絡(luò)配置、路由表等。
    • 比如,新加入 Swarm 的節(jié)點會被分配新的網(wǎng)絡(luò)命名空間,原容器所在的舊網(wǎng)絡(luò)命名空間被關(guān)閉或修改。容器依賴舊網(wǎng)絡(luò)命名空間內(nèi)的網(wǎng)絡(luò)連接與端口映射規(guī)則,在命名空間變更后,就如同進入一個全新且陌生的網(wǎng)絡(luò)環(huán)境,端口失效在所難免。

三、總結(jié)

通過對上述各因素的詳細剖析可知,docker swarm init 與 docker swarm join 操作絕非孤立地改變節(jié)點的某一特性,而是從網(wǎng)絡(luò)配置、服務(wù)發(fā)現(xiàn)、DNS 以及資源分配等多維度重塑節(jié)點運行環(huán)境。這些深層次變革在帶來集群強大功能與高效管理的同時,也不可避免地對原有的容器端口映射造成沖擊,致使端口失效。唯有深入理解這些內(nèi)在原理,才能在遭遇問題時精準施策,保障 Docker Swarm 集群穩(wěn)定運行。

到此這篇關(guān)于Docker Swarm 操作對容器端口影響記錄的文章就介紹到這了,更多相關(guān)Docker Swarm 容器端口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Docker容器部署Vue程序

    使用Docker容器部署Vue程序

    這篇文章介紹了使用Docker容器部署Vue程序的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • Docker部署verdaccio搭建npm私服的實現(xiàn)

    Docker部署verdaccio搭建npm私服的實現(xiàn)

    本女王主要介紹了Docker部署verdaccio搭建npm私服的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • 講解使用Docker搭建Java Web運行環(huán)境

    講解使用Docker搭建Java Web運行環(huán)境

    本篇文章詳細的介紹了使用Docker搭建Java Web運行環(huán)境,想要學習docker的同學可以了解一下。
    2016-11-11
  • Docker容器添加自定義MySQL配置文件

    Docker容器添加自定義MySQL配置文件

    本文介紹在Docker容器中通過綁定掛載為MySQL添加自定義配置文件,包括確定綁定掛載目錄、創(chuàng)建配置文件、添加配置項、重啟容器和驗證配置,具有一定的參考價值,感興趣的可以了解一下
    2024-11-11
  • Docker在Windows環(huán)境的搭建和使用詳解

    Docker在Windows環(huán)境的搭建和使用詳解

    這篇文章主要介紹了Docker在Windows環(huán)境的搭建和使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • docker中進入容器所在目錄刪除文件

    docker中進入容器所在目錄刪除文件

    這篇文章主要介紹了docker中進入容器所在目錄刪除文件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker啟動容器報錯:Ports are not available的解決方案

    Docker啟動容器報錯:Ports are not available的解決方案

    這篇文章主要介紹了Docker啟動容器報錯:Ports are not available的解決方案,Docker 將容器程序的端口號映射到宿主機的端口號,是一個 NAT 過程,這個過程可能會因為與 Windows NAT 服務(wù)沖突而失效,文中有詳細的解決方案,需要的朋友可以參考下
    2024-03-03
  • Linux中安裝Docker Compose的步驟

    Linux中安裝Docker Compose的步驟

    Docker Compose需要在系統(tǒng)上安裝了Docker才能正常工作,如果你的系統(tǒng)上還沒有安裝Docker,請先安裝Docker,下面給大家分享Linux中安裝Docker Compose的步驟,感興趣的朋友一起看看吧
    2024-05-05
  • Docker安裝RabbitMQ后訪問報錯的最佳解決方案

    Docker安裝RabbitMQ后訪問報錯的最佳解決方案

    這篇文章主要介紹了Docker安裝RabbitMQ后訪問報錯的最佳解決方案,錯誤通常是由于RabbitMQ的安全配置導(dǎo)致的,RabbitMQ默認配置允許的用戶僅能通過localhost訪問,文中通過圖文講解的非常詳細,需要的朋友可以參考下
    2025-01-01
  • Docker學習筆記之Weave實現(xiàn)跨主機容器互聯(lián)

    Docker學習筆記之Weave實現(xiàn)跨主機容器互聯(lián)

    這篇文章主要介紹了Docker學習筆記之Weave實現(xiàn)跨主機容器互聯(lián),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論