docker面試題

鏡像相關

1、如何批量清理臨時鏡像文件?
可以使用sudo docker rmi $(sudo docker images -q -f danging=true)命令

2、如何查看鏡像支持的環境變量?
使用sudo docker run IMAGE env

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

4、構建Docker鏡像應該遵循哪些原則?
整體遠側上,盡量保持鏡像功能的明確和內容的精簡,要點包括:

盡量選取滿足需求但較小的基礎系統鏡像,建議選擇debian:wheezy鏡像,僅有86MB大小
清理編譯生成文件、安裝包的緩存等臨時文件
安裝各個軟件時候要指定準確的版本號,并避免引入不需要的依賴
從安全的角度考慮,應用盡量使用系統的庫和依賴
使用Dockerfile創建鏡像時候要添加.dockerignore文件或使用干凈的工作目錄

容器相關

1、容器退出后,通過docker ps 命令查看不到,數據會丟失么?
容器退出后會處于終止(exited)狀態,此時可以通過 docker ps -a 查看,其中數據不會丟失,還可以通過docker start 來啟動,只有刪除容器才會清除數據。

2、如何停止所有正在運行的容器?
使用docker kill $(sudo docker ps -q)

3、如何清理批量后臺停止的容器?
使用docker rm $(sudo docker ps -a -q)

4、如何臨時退出一個正在交互的容器的終端,而不終止它?
按Ctrl+p,后按Ctrl+q,如果按Ctrl+c會使容器內的應用進程終止,進而會使容器終止。

5、很多應用容器都是默認后臺運行的,怎么查看它們的輸出和日志信息?
使用docker logs,后面跟容器的名稱或者ID信息

6、使用docker port 命令映射容器的端口時,系統報錯Error: No public port ‘80’ published for …,是什么意思?
創建鏡像時Dockerfile要指定正確的EXPOSE的端口,容器啟動時指定PublishAllport=true

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

8、如何控制容器占用系統資源(CPU,內存)的份額?
在使用docker create命令創建容器或使用docker run 創建并運行容器的時候,可以使用-c|–cpu-shares[=0]參數來調整同期使用CPU的權重,使用-m|–memory參數來調整容器使用內存的大小。

倉庫相關

1、倉庫(Repository)、注冊服務器(Registry)、注冊索引(Index)有何關系?
首先,倉庫是存放一組關聯鏡像的集合,比如同一個應用的不同版本的鏡像,注冊服務器是存放實際的鏡像的地方,注冊索引則負責維護用戶的賬號,權限,搜索,標簽等管理。注冊服務器利用注冊索引來實現認證等管理。

2 、從非官方倉庫(如:dl.dockerpool.com)下載鏡像的時候,有時候會提示“Error:Invaild registry endpoint https://dl.docker.com:5000/v1/…”?

Docker 自1.3.0版本往后以來,加強了對鏡像安全性的驗證,需要手動添加對非官方倉庫的信任。
DOCKER_OPTS=”–insecure-registry dl.dockerpool.com:5000”
重啟docker服務

配置相關
1、Docker的配置文件放在那里。如何修改配置?
Ubuntu系統下Docker的配置文件是/etc/default/docker,CentOS系統配置文件存放在/etc/sysconfig/docker

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

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

Docker與虛擬化

1、Docker與LXC(Linux Container)有何不同?
LXC利用Linux上相關技術實現容器,Docker則在如下的幾個方面進行了改進:

移植性:通過抽象容器配置,容器可以實現一個平臺移植到另一個平臺;
鏡像系統:基于AUFS的鏡像系統為容器的分發帶來了很多的便利,同時共同的鏡像層只需要存儲一份,實現高效率的存儲;
版本管理:類似于GIT的版本管理理念,用戶可以更方面的創建、管理鏡像文件;
倉庫系統:倉庫系統大大降低了鏡像的分發和管理的成本;
周邊工具:各種現有的工具(配置管理、云平臺)對Docker的支持,以及基于Docker的Pass、CI等系統,讓Docker的應用更加方便和多樣化。

2 、Docker與Vagrant有何不同?
兩者的定位完全不同
Vagrant類似于Boot2Docker(一款運行Docker的最小內核),是一套虛擬機的管理環境,Vagrant可以在多種系統上和虛擬機軟件中運行,可以在Windows。Mac等非Linux平臺上為Docker支持,自身具有較好的包裝性和移植性。
原生Docker自身只能運行在Linux平臺上,但啟動和運行的性能都比虛擬機要快,往往更適合快速開發和部署應用的場景。

3、開發環境中Docker與Vagrant該如何選擇?
Docker不是虛擬機,而是進程隔離,對于資源的消耗很少,單一開發環境下Vagrant是虛擬機上的封裝,虛擬機本身會消耗資源。

Other FAQ

1、Docker能在非Linux平臺(Windows+MacOS)上運行嗎?
可以

2 、如何將一臺宿主機的docker環境遷移到另外一臺宿主機?
停止Docker服務,將整個docker存儲文件復制到另外一臺宿主機上,然后調整另外一臺宿主機的配置即可

3、Docker容器創建后,刪除了/var/run/netns 目錄下的網絡名字空間文件,可以手動恢復它:

查看容器進程ID,比如1234

sudo docker inspect --format='{{. State.pid}}' $container_id
1234

到proc目錄下,把對應的網絡名字空間文件鏈接到/var/run/netns,然后通過正常的系統命令查看操作容器的名字空間。
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,701評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,691評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,974評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,694評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,026評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,193評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,719評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,442評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,668評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,846評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,255評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,592評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,394評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容

  • 什么是Docker? Docker是一個容器化平臺,它以容器的形式將您的應用程序及其所有依賴項打包在一起,以確保您...
    bullion閱讀 26,932評論 1 10
  • 《Docker從入門到實踐》閱讀筆記 原書地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,412評論 1 39
  • 一、鏡像相關 1、如何批量清理臨時鏡像文件 答:可以使用 docker rmi $(docker images -...
    天夭夭閱讀 5,420評論 0 7
  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,406評論 0 27
  • 小七陳鹵香辣鴨腸零食重慶特產麻辣美食熟食小吃好吃的鹵味包郵 ——【悅享淘聯盟】—— 【淘口令】長按復制整條信息 ¥...
    甘偉我閱讀 197評論 0 0