容器學習點點滴滴(一)
- 2019 年 10 月 6 日
- 筆記
微服務與容器可以說是互相依賴,在互聯網公司(如京東電商),容器基本成為11.11的抵抗洪峰的利器。
一、容器的安全性如何?什麼版本支援容器?
容器依賴於Linux的NameSpace、CGroups的特性,屬於邏輯隔離,安全性肯定不如何虛擬機的作業系統底層隔離來得好。
Linux內核高於3.10的64位版本都支援容器。
root@Master:~# uname -r
4.2.0-27-generic
二、容器相比虛擬機有什麼優勢?
1、體積小
像centos的docker鏡像大小,一般只有200M。
像下面這個ubuntu的作業系統鏡像,才69.9M,真是小的出乎意料。
docker.io/ubuntu 69.9 MB
2、啟動超快
一般1s內完成啟動。但如果容器未被調用,實際是未被載入到記憶體的,只是在鏡像上加了一個可讀寫層而己。而虛機一般需要1分鐘左右才能啟動。
3、支援數量多
一般單物理機中可以持上千個容器在線運行,而虛機一般只支援幾十個。
三、容器與鏡像有什麼關係?
如果有面向對象的編程經常,鏡像是類class,容器是實例instance。如有一個「狗」的鏡像,而一隻活的「沙皮犬「就是容器。
四、容器如何進行外部通訊?
運行容器後,我們發現容器會在電腦上啟動一個docker0的新網路介面,並為該介面分配一個網段地址。
docker0與電腦會通過橋接/路由方式進行互通。
如下圖,實際電腦網路介面為enp0s3,ip網路為10.0.2.15/24;而docker0的網路地址則是172.16.0.1/16。

五、如何啟動一個最簡單的apache容器?
1、從docker hub公有互聯庫從下載一個鏡像
docker pull httpd
2、啟動鏡像
docker run -d -p 8088:80 docker.io/httpd
-d代表後台運行
-p代表埠,8088是外網埠,80是docker0的內部埠
3、打開ie測試。
