DevOps Docker 去中心化 容器

基礎知識打底必讀 Docker面試100題(一)

2019-02-11
本系列文章根據Ajeet Singh Raina所寫的「Top 100 Docker Interview Questions」文章,翻譯轉載成一百個問題與答案,其中將Docker相關面試問題分成初級、中級和進階級。若你正在準備Docker相關工作的職缺面試,或渴望獲得Docker相關工具及知識,這些內容可能就是你最需要知道的。

‧HTTP網狀式路由(Routing Mesh)

允許在多個服務之間共享相同的網路IP位址和埠號,根據客戶端的請求,UCP使用主機名稱和埠號之組合將網路流量繞送到適當的服務。

‧會話持續性(Session Stickiness)

允許在HTTP標頭中客製訊息,UCP可用於將後續請求繞送到同一服務任務,適用於需要有狀態會話的應用程式。

Q19:Docker Bridge網路與傳統的Linux橋接器有何不同?

以網路方面術語,橋接器網路是鏈路層(Layer2)設備,它在不同網段間轉發封包流量,網路橋接器可以是硬體設備或是Host主機內核所執行的軟體模擬裝置。

以Docker技術來說,橋接器網路是使用軟體橋接器,此橋接器可以讓連接到同一橋接網路的容器相互通訊,同時提供未連接到此橋接網路之容器的隔離功能,Docker橋接器驅動程式會自動在主機中新增橋接規則,以便讓不同橋接網路上的容器無法直接相互溝通(圖6)。

 

▲圖6 Docker Bridge網路示意圖。

Q20:如何建立使用者定義的Bridge網路?

要建立使用者定義的橋接器網路,可使用docker network create命令,指令範例如圖7所示:

 

▲圖7 新增Docker Network。

 

? $ docker network create mynet

可以指定子網路、IP位置範圍、閘道器和其他選項,相關詳細訊息,請參閱docker network create官方文件(https://docs.docker.com/engine/reference/commandline/network_create/)或用「docker network create -help」指令查詢。

Q21:如何刪除使用者定義的Bridge網路?

使用docker network rm指令刪除使用者定義的橋接網路(圖8),如果目前已有容器連接到網路,請先將它們斷線:

 

▲圖8 刪除Docker Network。

 

? $ docker network rm mynet

Q22:如何將Docker容器連接到使用者定義的橋接網路?

可以使用以下的指令來進行:

 

? $ docker create --name my-nginx --network my-net --publish 8080:80 nginx:latest

當建立新容器時,可以指定一個或多個--network參數,此範例將Nginx容器連接到my-net網路,還將容器中的埠號80對應到Docker主機上的埠號8080,因此外部使用者可以存取此連接埠,而其他任何連接到my-net網路的容器都可以存取my-nginx容器上的所有連接埠,當然my-nginx也可存取到其他容器的所有連接埠(圖9)。

 

▲圖9 容器與Host主機的埠號對應。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!