更新時(shí)間:2022-12-08 16:36:23 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1696次
Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的Linux和Windows機(jī)器上,也可以實(shí)現(xiàn)虛擬化,是我們必須掌握的技術(shù)之一。對(duì)此,小編為大家整理了一些有關(guān)Docker的面試題,希望對(duì)你們有用。
1、如何批量清理臨時(shí)鏡像文件?
可以使用sudo docker rmi$(sudo docker images-q-f danging=true)命令
2、如何查看鏡像支持的環(huán)境變量?
使用sudo docker run IMAGE env
3、本地的鏡像文件都存放在哪里
于Docker相關(guān)的本地資源存放在/var/lib/docker/目錄下,其中container目錄存放容器信息,graph目錄存放鏡像信息,aufs目錄下存放具體的鏡像底層文件。
4、構(gòu)建Docker鏡像應(yīng)該遵循哪些原則?
整體遠(yuǎn)側(cè)上,盡量保持鏡像功能的明確和內(nèi)容的精簡(jiǎn),要點(diǎn)包括:
#盡量選取滿(mǎn)足需求但較小的基礎(chǔ)系統(tǒng)鏡像,建議選擇debian:wheezy鏡像,僅有86MB大小
#清理編譯生成文件、安裝包的緩存等臨時(shí)文件
#安裝各個(gè)軟件時(shí)候要指定準(zhǔn)確的版本號(hào),并避免引入不需要的依賴(lài)
#從安全的角度考慮,應(yīng)用盡量使用系統(tǒng)的庫(kù)和依賴(lài)
#使用Dockerfile創(chuàng)建鏡像時(shí)候要添加.dockerignore文件或使用干凈的工作目錄
1、容器退出后,通過(guò)docker ps命令查看不到,數(shù)據(jù)會(huì)丟失么?
容器退出后會(huì)處于終止(exited)狀態(tài),此時(shí)可以通過(guò)docker ps-a查看,其中數(shù)據(jù)不會(huì)丟失,還可以通過(guò)docker start來(lái)啟動(dòng),只有刪除容器才會(huì)清除數(shù)據(jù)。
2、如何停止所有正在運(yùn)行的容器?
使用docker kill$(sudo docker ps-q)
3、如何清理批量后臺(tái)停止的容器?
使用docker rm$(sudo docker ps-a-q)
4、如何臨時(shí)退出一個(gè)正在交互的容器的終端,而不終止它?
按Ctrl+p,后按Ctrl+q,如果按Ctrl+c會(huì)使容器內(nèi)的應(yīng)用進(jìn)程終止,進(jìn)而會(huì)使容器終止。
5、很多應(yīng)用容器都是默認(rèn)后臺(tái)運(yùn)行的,怎么查看它們的輸出和日志信息?
使用docker logs,后面跟容器的名稱(chēng)或者ID信息
6、使用docker port命令映射容器的端口時(shí),系統(tǒng)報(bào)錯(cuò)Error:No public port‘80’published for…,是什么意思?
創(chuàng)建鏡像時(shí)Dockerfile要指定正確的EXPOSE的端口,容器啟動(dòng)時(shí)指定PublishAllport=true
7、可以在一個(gè)容器中同時(shí)運(yùn)行多個(gè)應(yīng)用進(jìn)程嗎?
一般不推薦在同一個(gè)容器內(nèi)運(yùn)行多個(gè)應(yīng)用進(jìn)程,如果有類(lèi)似需求,可以通過(guò)額外的進(jìn)程管理機(jī)制,比如supervisord來(lái)管理所運(yùn)行的進(jìn)程
8、如何控制容器占用系統(tǒng)資源(CPU,內(nèi)存)的份額?
在使用docker create命令創(chuàng)建容器或使用docker run創(chuàng)建并運(yùn)行容器的時(shí)候,可以使用-c|–cpu-shares[=0]參數(shù)來(lái)調(diào)整同期使用CPU的權(quán)重,使用-m|–memory參數(shù)來(lái)調(diào)整容器使用內(nèi)存的大小。
1、Docker的配置文件放在那里。如何修改配置?
Ubuntu系統(tǒng)下Docker的配置文件是/etc/default/docker,CentOS系統(tǒng)配置文件存放在/etc/sysconfig/docker
2、如何更改Docker的默認(rèn)存儲(chǔ)設(shè)置?
Docker的默認(rèn)存放位置是/var/lib/docker,如果希望將Docker的本地文件存儲(chǔ)到其他分區(qū),可以使用Linux軟連接的方式來(lái)做。
以上就是“docker配有答案的面試題匯總”,你能回答上來(lái)嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)