更新時間:2022-12-08 16:36:23 來源:動力節點 瀏覽1595次
Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的Linux和Windows機器上,也可以實現虛擬化,是我們必須掌握的技術之一。對此,小編為大家整理了一些有關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、Docker的配置文件放在那里。如何修改配置?
Ubuntu系統下Docker的配置文件是/etc/default/docker,CentOS系統配置文件存放在/etc/sysconfig/docker
2、如何更改Docker的默認存儲設置?
Docker的默認存放位置是/var/lib/docker,如果希望將Docker的本地文件存儲到其他分區,可以使用Linux軟連接的方式來做。
以上就是“docker配有答案的面試題匯總”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習