W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
Docker 容器和 LXC 容器很相似,所提供的安全特性也差不多。當用 docker run
啟動一個容器時,在后臺 Docker 為容器創(chuàng)建了一個獨立的名字空間和控制組集合。
名字空間提供了最基礎也是最直接的隔離,在容器中運行的進程不會被運行在主機上的進程和其它容器發(fā)現和作用。
每個容器都有自己獨有的網絡棧,意味著它們不能訪問其他容器的 sockets 或接口。不過,如果主機系統(tǒng)上做了相應的設置,容器可以像跟主機交互一樣的和其他容器交互。當指定公共端口或使用 links 來連接 2 個容器時,容器就可以相互通信了(可以根據配置來限制通信的策略)。
從網絡架構的角度來看,所有的容器通過本地主機的網橋接口相互通信,就像物理機器通過物理交換機通信一樣。
那么,內核中實現名字空間和私有網絡的代碼是否足夠成熟?
內核名字空間從 2.6.15 版本(2008 年 7 月發(fā)布)之后被引入,數年間,這些機制的可靠性在諸多大型生產系統(tǒng)中被實踐驗證。
實際上,名字空間的想法和設計提出的時間要更早,最初是為了在內核中引入一種機制來實現 OpenVZ 的特性。 而 OpenVZ 項目早在 2005 年就發(fā)布了,其設計和實現都已經十分成熟。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: