docker教程——面試總結

打個廣告,幫朋友賣點東西,東西超便宜的喲【衣服鞋子等】,廠家直接出貨,絕對低於市場價!!! 一般都比市場價便宜3—7折【都是牌子貨】,如果您感興趣,可以掃描屏幕下方的二維碼,感謝關注!!!

微信

  • 如何批量刪除或者停止運行的容器?
docker kill/rm `docker ps -aq`
  • 本地的鏡像文件都存放在哪裏

        Docker相關的本地資源存放在/var/lib/docker/目錄下,其中container目錄存放容器信息,graph目錄存放鏡像信息,aufs目錄下存放具體的鏡像底層文件。

  • 構建Docker鏡像應該遵循哪些原則?

        整體遠側上,儘量保持鏡像功能的明確和內容的精簡,要點包括:

  1. 儘量選取滿足需求但較小的基礎系統鏡像,建議選擇debian:wheezy鏡像,僅有86MB大小
  2. 清理編譯生成文件、安裝包的緩存等臨時文件
  3. 安裝各個軟件時候要指定準確的版本號,並避免引入不需要的依賴
  4. 從安全的角度考慮,應用盡量使用系統的庫和依賴
  5. 使用Dockerfile創建鏡像時候要添加.dockerignore文件或使用乾淨的工作目錄
  • 容器退出後,通過docker ps 命令查看不到,數據會丟失麼?

        容器退出後會處於終止(exited)狀態,此時可以通過 docker ps -a 查看,其中數據不會丟失,還可以通過docker start 來啓動,只有刪除容器纔會清除數據。

  • 如何臨時退出一個正在交互的容器的終端,而不終止它?

        按Ctrl+p,後按Ctrl+q,如果按Ctrl+c會使容器內的應用進程終止,進而會使容器終止。

  • 很多應用容器都是默認後臺運行的,怎麼查看它們的輸出和日誌信息?

        使用docker logs,後面跟容器的名稱或者ID信息

  • 可以在一個容器中同時運行多個應用進程嗎?

        一般不推薦在同一個容器內運行多個應用進程,如果有類似需求,可以通過額外的進程管理機制,比如supervisord來管理所運行的進程。

  • 如何控制容器佔用系統資源(CPU,內存)的份額?

        在使用docker create命令創建容器或使用docker run 創建並運行容器的時候,可以使用-c|–cpu-shares[=0]參數來調整同期使用CPU的權重,使用-m|–memory參數來調整容器使用內存的大小。

  • 倉庫(Repository)、註冊服務器(Registry)、註冊索引(Index)有何關係?

        首先,倉庫是存放一組關聯鏡像的集合,比如同一個應用的不同版本的鏡像,註冊服務器是存放實際的鏡像的地方,註冊索引則負責維護用戶的賬號,權限,搜索,標籤等管理。註冊服務器利用註冊索引來實現認證等管理。

  • 如何更改Docker的默認存儲設置?

        Docker的默認存放位置是/var/lib/docker,如果希望將Docker的本地文件存儲到其他分區,可以使用Linux軟連接的方式來做。

  • 如何將一臺宿主機的docker環境遷移到另外一臺宿主機?

        停止Docker服務,將整個docker存儲文件複製到另外一臺宿主機上,然後調整另外一臺宿主機的配置即可

  • 爲什麼要用Docker
  1. 容器具有封閉性,在一個服務器裏,可以有好多容器。每個容器他可以是系統,可以是服務、可以是應用,裝着什麼就是什麼。
  2. 程序性遷移。容器內的環境是可以與程序相適應。而這個容器又可以在不同的生產環境裏使用。試使用一下,windows的遊戲我就放到一個linux裏面玩,寶馬的外殼裏面是奔馳,而且可以是很多臺奔馳。
  3. 速度快,定製快。持續交付與部署。(例如公司有多個項目,所使用的環境都好相似,由於客戶不願意給更多的錢購買專用的服務器,於是把這堆客戶放在一個集羣裏面,共享他們的資源。)
  4. 容器服務是在集羣裏的。這樣服務器的橫向擴展(隨時增加ECS)和縱向擴展(升級ECS配置)都是很容易的事,無限的擴充。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章