DevOps Docker 去中心化 容器

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

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

 

? $ docker network create -d macvlan –subnet=192.168.32.0/24 –ip-range=192.168.32.128/25 –gateway=192.168.32.254 –aux-address="my-router=192. 168.32.129" -o parent=eth0 collabnet32

MacVLAN相關詳細說明,請參閱官方文件(https://docs.docker.com/network/macvlan/)。

Q30:當容器登出或停止時,資料會消失嗎?

完全不會!在明確地刪除容器之前,應用程式寫入磁碟的任何資料都會保留在其容器中,即便容器停止,那容器的檔案系統仍然會存在。

Q31:如何在容器之間建立連線?

先建立第一個容器作為server-sshserver:

 

? $ docker run -i -t -p 2222:22 --name sshserver ubuntu bash

再建立第二個容器當成SSH客戶端:

 

? $ docker run -i -t --name sshclient --link sshserver:sshserver ubuntu bash

Docker --link功能可在容器間建立私有通道,可使用docker inspect來檢查已串接的容器:

 

? $ docker inspect -f "{{ .HostConfig. Links }}" sshclient

執行之後,輸出結果如下:

 

? [/sshserver:/sshclient/sshserver]

最後,以SSH藉由其IP進入SSH伺服器:

 

? $ ssh root@172.17.0.3 -p 22

Q32:什麼是Docker Swarm?

Docker Swarm是Docker原生的叢集功能,它將單一Docker主機轉變為單個多台Docker主機的虛擬資源池,Docker Swarm提供標準的Docker API,任何已經與Docker Daemon串接好的工具都可以使用Swarm通透地橫向擴展到多台主機。

Q33:何謂--memory-swap參數?

--memory-swap是一個修改用的參數,只有在同時設置了--memory時才會有作用,使用swap允許容器在容器耗盡所有可用的RAM時,將額外記憶體的需求寫入磁碟,對於經常要將記憶體交換到磁碟的應用程式,其執行效能會受到影響。

結語

以上是「Docker面談的一百個問題與答案」的第一部分,只包含Docker基礎知識(初級),尚有部分初級、中級和進階的問答,由於知識是連貫的,先熟悉Docker基礎知識,才可融會更深入的實際應用,使其實踐在自身的工作之中,敬請期待後續兩篇的內容。

<本文作者:鄭淳尹,Docker/Moby.Taipei社群共同發起人,現為momo購物網資深工程師,曾任臺北榮民總醫院資訊工程師、玉山銀行資訊處專員、宏碁eDC維運工程師,系統維護及開發設計超過15年。開源技術愛好者,陸續在COSCUP開源人年會、Container Summit研討會、台灣微軟開發者大會、群益期貨和永豐金證券等分享資訊技術,並在多間大學資工系擔任Docker容器技術講師。現任微軟MVP,並翻譯審閱多本容器技術書籍。>


追蹤我們Featrue us

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

我知道了!