当前位置: 首页 > Web前端 > HTML

Docker网络模型与容器通信

时间:2023-03-28 01:51:15 HTML

鏈枃寤剁画涓婁竴绡囨枃绔狅細銆怐ocker0缃戠粶涓庡師鐞嗘帰绱€戯紝缁х画娣卞叆鎺㈢储瀹瑰櫒缃戠粶閫氫俊鍘熺悊锛岄€氳繃瀛︿範Docker缃戠粶椹卞姩妯″瀷鏇村ソ鐨勮В鍐冲鍣ㄤ箣闂寸殑閫氫俊闂馃帀馃帀1.Docker鐨勭綉缁滈┍鍔ㄦā鍨?.1銆丏ocker鐨勭綉缁滈┍鍔ㄦā鍨嬪垎绫伙細bridge锛欴ocker涓粯璁ょ殑缃戠粶椹卞姩妯″瀷锛屽鏋滃湪鍚姩瀹瑰櫒鏃朵笉鎸囧畾锛屽垯榛樿涓鸿椹卞姩绫诲瀷锛沨ost锛氭墦鐮碊ocker瀹瑰櫒涓庡涓绘満缃戠粶闅旂鐨勮繛鎺ワ紝鐩存帴浣跨敤瀹夸富鏈虹殑缃戠粶鐜锛岃妯″紡浠呴€傜敤浜嶥ocker17.6鍙婁互涓婄増鏈紱overlay锛氬彲浠ヨ繛鎺ュ涓猟ockerdaemon杩涚▼鎴栬€呮弧瓒抽泦缇ゆ湇鍔′箣闂寸殑閫氫俊锛涢€傜敤浜巇ocker鍦ㄤ笉鍚屽涓绘満涓婂鍣ㄤ箣闂寸殑閫氫俊锛沵acvlan锛氬彲浠ヤ负docker瀹瑰櫒鍒嗛厤MAC鍦板潃锛屼娇鍏跺儚鐪熷疄鐨勭墿鐞嗘満涓€鏍疯繍琛岋紱none锛氱鐢ㄧ綉缁滈┍鍔紝闇€瑕佹墜鍔ㄨ嚜瀹氫箟缃戠粶椹卞姩閰嶇疆锛沺lugins锛氫娇鐢ㄧ涓夋柟缃戠粶椹卞姩鎻掍欢锛?.2銆丏ocker缃戠粶妯″紡鏌ョ湅dockernetworkdockernetworkls[root@---~]#dockernetworklsNETWORKIDNAMEDRIVERSCOPEfeafa30d4051bridgebridgelocale8bf4fced9e2hosthostlocal6263db0933b9nonenulllocal[root@---~]#Dockerbuilt-in杩欎笁涓綉缁溿€傝繍琛屽鍣ㄦ椂锛屾偍鍙互浣跨敤--network鏍囧織鎸囧畾瀹瑰櫒搴旇繛鎺ュ埌鍝簺缃戠粶銆俠ridge缃戠粶浠h〃瀛樺湪浜庢墍鏈塂ocker瀹夎涓殑docker0缃戠粶銆傞粯璁ゆ儏鍐典笅锛孌ocker瀹堟姢绋嬪簭灏嗗鍣ㄨ繛鎺ュ埌姝ょ綉缁滐紝闄ら潪鎮ㄤ娇鐢╠ockerrun--network=閫夐」鎸囧畾瀹冦€傚綋鎴戜滑浣跨敤dockerrun鍒涘缓Docker瀹瑰櫒鏃讹紝鎴戜滑鍙互浣跨敤--net閫夐」鏉ユ寚瀹氬鍣ㄧ殑缃戠粶妯″紡銆侱ocker鍙互鏈変互涓嬪洓绉嶇綉缁滄ā寮忥細涓绘満妯″紡锛氫娇鐢?-net=host鎸囧畾銆俷one妯″紡锛氫娇鐢?-net=none鎸囧畾銆傛ˉ鎺ユā寮忥細浣跨敤--net=bridge鎸囧畾锛岄粯璁よ缃€傚鍣ㄦā寮忥細浣跨敤--net=container:NAME_or_ID鎸囧畾銆俤ockerrun-it-P--nametomcat01--net=bridgetomcat#defaultsettingdockerrun-it-P--nametomcat02--net=nonetomcat#...2.涓嶅悓瀹瑰櫒閫氳繃veth瀵艰嚧鐨勫鍣ㄩ€氫俊闂pair杩炴帴鐨勬槸铏氭嫙缃戞ˉdocker0锛屾墍浠ュ鍣ㄤ箣闂村彲浠ラ€氳繃IP杩涜閫氫俊锛屼絾鏄笉鑳介€氳繃瀹瑰櫒鍚嶈繘琛岄€氫俊銆俤ocker0涓嶆敮鎸佸鍣ㄥ悕杩炴帴璁块棶榛樿缃戞ˉ銆傛ˉ涓婄殑瀹瑰櫒鍙兘閫氳繃IP浜掕繛锛屼笉鑳介€氳繃DNS瑙f瀽鍚嶇О鎴栧埆鍚嶃€傚鏋滄垜浠湪container1涓儴缃瞱eb鏈嶅姟锛屽湪container2涓儴缃瞞ysql锛宑ontainer1涓殑web鏈嶅姟缁忓父闇€瑕佽繛鎺ontainer2涓殑mysql锛屽彧鑳介€氳繃IP杩炴帴锛屼絾鏄痙ocker涓嶈兘淇濊瘉瀹瑰櫒閲嶅惎鍚庣殑IP鍦板潃涓嶄細涓庝紬涓嶅悓銆傚洜姝わ紝鏇村ソ鐨勬柟寮忔槸閫氳繃鍒悕浜掕仈锛屽湪缃戠粶涓坊鍔燚NS鏈嶅姟鍣紝灏嗗鍣ㄥ悕绉颁笌IP鍦板潃杩涜鍖归厤锛岀渷鍘讳簡鍦╳eb鏈嶅姟涓墜鍔ㄤ慨鏀筸ysql杩炴帴鐨処P銆備负浜嗛€氳繃瀹瑰櫒鍚嶇О鎴栧埆鍚嶅疄鐜颁笉鍚屽鍣ㄧ殑浜掕仈锛宒ocker鎻愪緵浜嗗涓嬶細馃憞鍦ㄥ惎鍔╠ocker瀹瑰櫒鏃舵坊鍔?-link鍙傛暟锛岀洰鍓嶅凡缁忓簾寮冦€傛斁寮冪殑涓昏鍘熷洜鏄渶瑕佽繛鎺ョ殑涓や釜瀹瑰櫒閮藉湪涓よ€呬笂鍒涘缓--link閫夐」锛屽綋杩炴帴鐨勫鍣ㄦ暟閲忚緝澶氭椂锛屾搷浣滅殑澶嶆潅搴︿細鏄庢樉澧炲姞锛涘惎鍔╠ocker瀹瑰櫒鍚庯紝杩涘叆瀹瑰櫒锛屼慨鏀?etc/hosts閰嶇疆鏂囦欢锛堟湰鍦癉NS瑙f瀽锛夛紝缂虹偣鏄墜鍔ㄩ厤缃瘮杈冨鏉傦紱user-definedbridgebridge锛岀洰鍓嶈В鍐虫绫婚棶棰樼殑涓昏鏂规硶锛屾彁渚涙洿濂界殑闅旂鍜屾洿濂界殑浜掓搷浣滄€э紙鏇村ソ鐨勯殧绂绘槸閽堝澶栫綉锛屾洿濂界殑浜掓搷浣滄€ф槸鎸囧悓涓€涓猙ridge涓嬬殑涓嶅悓瀹瑰櫒锛夛紝user-definedbridge鎻愪緵瀹瑰櫒涔嬮棿鐨勮嚜鍔―NS瑙f瀽銆傞粯璁ゆ儏鍐典笅锛屽鍣ㄦ槸闅旂杩愯鐨勶紝瀹冧滑瀹屽叏涓嶇煡閬撳悓涓€鍙版満鍣ㄤ笂鐨勫叾浠栬繘绋嬫垨瀹瑰櫒銆傞偅涔堬紝濡備綍璁╁鍣ㄧ浉浜掗€氫俊鍛紵绛旀鏄綉缁滆繛鎺ャ€傚鏋滀袱涓鍣ㄥ湪鍚屼竴缃戠粶涓婏紝鍒欏畠浠彲浠ョ浉浜掗€氫俊銆傚鏋滃畠浠笉鍦ㄥ悓涓€缃戠粶涓婏紝鍒欏畠浠棤娉曢€氫俊銆?.瀹瑰櫒闂撮€氫俊鐨勪富瑕佹柟娉曟€荤粨3.1锛庨€氳繃瀹瑰櫒ip璁块棶瀹瑰櫒閲嶅惎鍚庯紝ip浼氬彂鐢熷彉鍖栥€傞€氳繃瀹瑰櫒ip璁块棶涓嶆槸涓€涓ソ鐨勮В鍐虫柟妗堛€?.2.閫氳繃瀹夸富鏈虹殑ip:port璁块棶閫氳繃瀹夸富鏈虹殑ip:port璁块棶鍙兘渚濊禆杩涚▼鐩戝惉鏆撮湶鐨勭鍙h繘琛屾湁闄愮殑閫氫俊銆?.3.閫氳繃--link寤虹珛杩炴帴鐨勫師鐞嗗垎鏋愶紙瀹樻柟涓嶆帹鑽愶級锛氬湪杩愯瀹瑰櫒鐨勬椂鍊欙紝鎸囧畾鍙傛暟link锛岃繖鏍锋簮瀹瑰櫒鍜岃閾炬帴鐨勫鍣ㄥ氨鍙互鐩镐簰閫氫俊锛岃鎺ュ彈鐨勫鍣ㄥ彲浠ヨ幏鍙栦竴浜涙暟鎹簮瀹瑰櫒鐨勩€備緥濡傦細鐜鍙橀噺銆備笌/etc/hosts涓殑涓绘満鏉$洰涓嶅悓锛屽鏋滄簮瀹瑰櫒閲嶆柊鍚姩锛屽瓨鍌ㄥ湪鐜鍙橀噺涓殑IP鍦板潃涓嶄細鑷姩鏇存柊銆傛垜浠缓璁娇鐢?etc/hosts涓殑涓绘満鏉$洰鏉ヨВ鏋愰摼鎺ュ鍣ㄧ殑IP鍦板潃銆傞櫎浜嗙幆澧冨彉閲忥紝Docker杩樺皢婧愬鍣ㄧ殑涓绘満鏉$洰娣诲姞鍒?etc/hosts鏂囦欢涓€傦紙鏈川涓婃槸閫氳繃--link鍙傛暟锛岃嚜鍔ㄧ粰瀹瑰櫒娣诲姞hosts閰嶇疆锛?-link寤虹珛杩炴帴姝ラ锛氣湪鍚姩tomcat01锛宼omcat02dockerrun-it-P--nametomcat01tomcatdockerrun-it-P--nametomcat02tomcat--link閫氳繃閰嶇疆/etc/hosts瀹炵幇閫氳繃link寤虹珛鐨勫鍣ㄧ殑杩炴帴锛岃閾炬帴鐨勫鍣ㄥ彲浠ing閫氭簮瀹瑰櫒锛屽弽涔嬩害鐒躲€傝閾炬帴鐨勫鍣ㄤ細缁ф壙婧愬鍣ㄧ殑鐜鍙橀噺淇℃伅銆傚缓绔嬮摼鎺ヨ繛鎺omcat02瀹瑰櫒閾炬帴鍒皌omcat03銆俤ockerrun-it-P--nametomcat03--linktomcat02tomcat鏌ョ湅tomcat03涓绘満閰嶇疆[root@---~]#dockerexec-ittomcat03cat/etc/hosts127.0.0.1localhost::1localhostip6-鏈湴涓绘満ip6-loopbackfe00::0ip6-localnetff00::0ip6-mcastprefixff02::1ip6-allnodesff02::2ip6-allrouters172.17.0銆?tomcat02099602f3ff7f#鉁?-link鍛戒护閰嶇疆鐢熸垚鏉$洰鉁?72.17.0.4a20a10b7e728[root@---~]#3.4銆侌煣║ser-definedbridgestepsthroughUser-definednetworks锛堟帹鑽愶級锛氣湪Createuser-definedbridge缃戞ˉ[root@---~]#dockernetworkcreatetest-network799426d70aa28b73b4a777c85b338186eafadd1558b13c43e07a9fd9a8b545e7[root@iZm5e23n3ueobwkjtfartxZ~]#dockernetworklsNETWORKIDNAMEDRIVERSCOPEfeafa30d4051bridgebridgelocale8bf4fced9e2hosthostlocal6263db0933b9nonenulllocal799426d70aa2test-networkbridgelocal#鉁ㄥ垱寤虹殑Bridgenetwork鉁ㄥ垹闄ょ綉妗ワ細dockernetworkrmtest-network鎶婁箣鍓嶅惎鍔ㄧ殑mysql01,centos01,centos02瀹瑰櫒鍔犲叆鑷畾涔夌綉妗ワ細connectdockernetworkconnecttest-networkmysql01dockernetworkconnecttest-networkcentos01dockernetworkconnecttest-networkcentos02鏌ョ湅鑷畾涔夌綉妗ヤ俊鎭痙ockernetworkinspect799426d70aa2[{"Name":"test-network","ID":"799426d70aa28b73b4a777c85b338186eafadd1558b13c43e07a9fd9a8b545e7","Created":"2021-10-03T20:30:03.325679562+08:00","IPvable"En"Driver":"local","DriverAM:{":"default","Options":{},"Config":[{"Subnet":"172.18.0.0/16",#鉁ㄦ祴璇曠綉缁滅殑瀛愮綉鉁?Gateway":"172.18.0.1"#鉁℅ateway娴嬭瘯缃戠粶鉁▆]},鈥滃唴閮ㄢ€濓細閿欒锛屸€滃彲闄勫姞鈥濓細閿欒锛屸€滃叆鍙b€濓細閿欒锛屸€淐onfigFrom鈥濓細{鈥滅綉缁溾€濓細鈥溾€潁锛屸€淐onfigOnly鈥濓細閿欒锛屸€滃鍣ㄢ€濓細{鈥?9298987c51b777b546bf6626560020ce235e390e1d7fcfe188c6db228ca4edf鈥濓細{鈥滃悕绉扳€?"mysql01","EndpointID":"a69560a1872a25af042c74132df5dcade6e0e93faf9102185c1de19f6c8b3b36","MacAddress":"02:42:ac:12:00:02","IPv4Address":"172.18.0.2/16",#1鉁ㄤ笌涔嬪墠涓嶅悓鉁?IPv6Address":""},"cb1922b95b9316d129b54f3545fad9729092926e10a1d5517f8928db42706151":{"Name":"centos01","EndpointID":"f0cf5feb77ec23526fe5cee217dba9271125b9b4106c81bc7d58253ac48a4caf","MacAddress":"02:42:ac:12:00:03","IPv4Address":"172.18.0.3/16",#鉁╟entos01瀹瑰櫒鐨処P鍜屼箣鍓嶄笉涓€鏍蜂簡鉁?IPv6Address":""},"cc6f510b9765ba018dbafd416c9774ddf5fd3ff55fa992827f55516e8dc70b6a":{"Name":"centos02","EndpointID":"6c88540d719014e441d3119c4388e62d311b07acf009106e16aa66d7ebaf5763",鈥嬧€?MacAddress":"02:42:ac:12:00:04","IPv4Address":"172.18.0.4/16",#鉁╟entos02瀹瑰櫒鐨処P鍜屼箣鍓嶄笉涓€鏍蜂簡鉁?IPv6Address":""}},"Options":{},"Labels":{}}]閫氳繃杩涘叆centos01瀹瑰櫒瀹瑰櫒鍚嶆垨鍒悕浜掕繛閫氫俊锛宲ingcentos02锛宲ingmysql01鍙互鍙戠幇centos01鍙互涓巆entos02鍜宮ysql01瀹瑰櫒docker閫氫俊exec-itcb1922b95b93/bin/bash馃憟[root@cb1922b95b93/]#pingcentos02馃憟PINGcentos02(172.18.0.4)56(84)瀛楄妭鐨勬暟鎹€傛潵鑷猚entos02.test-network(172.18.0.4)鐨?4瀛楄妭锛歩cmp_seq=1ttl=64time=0.118ms64bytesfromcentos02.test-network(172.18.0.4):icmp_seq=2ttl=64time=0.113ms...pingmysql01馃憟PINGmysql01(172.18.0.2)56(84)瀛楄妭data.64bytesfrommysql01.test-network(172.18.0.2):icmp_seq=1ttl=64time=0.107ms..Disconnectthenetwork鍥犱负鎴戜滑鐨勫鍣ㄤ粛鐒惰繛鎺ュ埌榛樿缃戞ˉdocker0锛屾垜浠笉闇€瑕佸畠鐜板湪锛屾垜浠簲璇ユ柇寮€瀹瑰櫒涓巇ocker0鐨勮繛鎺ワ紝骞舵墽琛屼互涓嬫柇寮€杩炴帴锛歞ockernetworkdisconnectbridgemysql01dockernetworkdisconnectbridgecentos01dockernetworkdisconnectbridgecentos02鏌ョ湅榛樿bridgebridgedocker0鐨勫鍣ㄧ綉缁滈厤缃甦ockernetworkinspectfeafa30d4051馃憟[{"Name":"bridge","Id":"feafa30d4051f24353508959bd420fd163ad0c98d6b30ec8ff13b529a59":"Cre2021-09-26T15:10:27.167774553+08:00","Scope":"local","Driver":"bridge","EnableIPv6":false,"IPAM":{"Driver":"default",鈥滈€夐」鈥濓細绌猴紝鈥滈厤缃€濓細[{鈥滃瓙缃戔€濓細鈥?72.17.0.0/16鈥濓紝鈥滅綉鍏斥€濓細鈥?72.17.0.1鈥潁]}锛屸€滃唴閮ㄢ€濓細鍋囷紝鈥滃彲闄勫姞鈥濓細鍋囷紝鈥淚ngress":false,"ConfigFrom":{"Network":""},"ConfigOnly":false,"Containers":{},#鉁ㄤ箣鍓嶇殑瀹瑰櫒鏈嶅姟宸蹭粠榛樿妗ヤ腑绉婚櫎鉁?Options":{鈥渃om.docker.network.bridge.default_bridge鈥濓細鈥滅湡鈥濓紝鈥渃om.docker.network.bridge銆俥nable_icc":"true","com.docker.network.bridge.enable_ip_masquerade":"true","com.docker.network.bridge.host_binding_ipv4":"0.0.0.0","com.docker.network.bridge.name":"docker0","com.docker.network.driver.mtu":"1500"},"Labels":{}}]鏈€鍚庝簡瑙d簡Docker缃戠粶鍜屽鍣ㄩ€氫俊涔嬪悗锛岀户缁涔犳湇鍔$綉鏍?ServiceMesh)鍜孠ubernetes鏈嶅姟鍙戠幇闈炲父鏈夊府鍔╋紝寰堝椤圭洰鏋舵瀯涔熸槸浠庣綉缁滈€氫俊鐨勮搴︽潵鍒掑垎灞傛鍜屾ā鍧楃殑锛堜緥濡傦細缃戠粶鎷撴墤鍥撅紝澶氭椿鐨勭粓鏋佺郴缁熸灦鏋勶級鍏充簬缃戠粶锛屽瀹屼綘浼氬彂鐜板緢澶氫笢瑗夸覆鍦ㄤ竴璧凤紝瓒呯骇鏈夎叮馃槉寰俊鍏紬鍙凤細銆愮湅鍒板彟涓€绉嶅彲鑳姐€戰煂规寔缁洿鏂帮紝鍏虫敞鎴戯紝浣犱細鍙戠幇涓€涓姫鍔涚殑瀹濊棌绋嬪簭鍛橉煒婏紝璁╂垜浠竴璧峰涔狅紝鎴戜滑涓€璧锋垚闀垮惂馃帀鍠滄璁板緱鐐硅禐鍏虫敞鏀惰棌锛岀湅瀹屼笉浼氳糠璺煒夝煄佹杩庡ぇ瀹惰瘎璁轰氦娴侊紝锜硅煿馃槉

猜你喜欢