Docker常見面試題

Mr.peter發表於2024-03-04

1.什麼是Docker?

Go語言開發,容器虛擬化技術,C/S架構,具有隔離、快速、輕便的特點。

2.Docker與虛擬機器有何不同?

相比於虛擬機器,docker更快速、輕便。
快速:秒級啟動
輕便:聯合檔案系統

3.Docker映象是什麼?

聯合檔案系統。
可以透過DockerFile構建或透過容器Commit生成。

4.Docker容器是什麼?

映象例項

5.Docker容器有幾種狀態?

四種狀態:執行,暫停,重啟,退出

6.DockerFile常見指令

FROM
ADD COPY
ENV WORKDIR
RUN
CMD ENTRYPOINT

7.Dockerfile中的命令COPY和ADD命令有什麼區別?

COPY是複製檔案
ADD可以自動解壓

8.Docker常用命令

容器、映象、倉庫、日誌、程序、後設資料、複製

9.容器與主機之間的資料複製命令

docker cp <主機路徑> <容器ID>:<容器路徑>
docker cp <容器ID>:<容器路徑> <主機路徑>

10.啟動nginx容器(隨機埠對映),並掛載資料卷

docker run -d --name myNginx -P -v <主機路徑>:<容器路徑> nginx

11.什麼是Docker Swarm?

與Docker引擎整合的叢集管理

12.如何批次清理臨時映象檔案?

docker rmi -f $(docker images -q)

13.如何檢視映象支援的環境變數?

docker run <映象ID> env

14.本地的映象檔案都存放在哪裡?

映象檔案路徑:/var/lib/docker/image
容器檔案路徑:
/var/lib/docker/containers

15.構建Docker映象應該遵循哪些原則?

1).儘量選取滿足需求但較小的基礎系統映象
2).清理編譯生成檔案、安裝包的快取等臨時檔案

3).安裝各個軟體時候要指定準確的版本號,並避免引入不需要的依賴
4).從安全的角度考慮,應用盡量使用系統的庫和依賴
5).使用Dockerfile建立映象時候要新增.dockerignore檔案或使用乾淨的工作目錄

16.容器退出後,透過docker ps 命令檢視不到,資料會丟失麼?

docker ps -a

17.如何停止所有正在執行的容器?

docker kill $(docker ps -q)

18.如何退出容器不終止容器

Ctrl+P+Q

19.如何清理批次後臺停止的容器

docker rm $(docker ps -aq)

20.如何檢視容器日誌?

docker logs <容器ID>

21.可以在一個容器中同時執行多個應用程序嗎?

一般不推薦在同一個容器內執行多個應用程序

22.如何控制容器佔用系統資源(CPU,記憶體)的份額?

docker run 時,可以
使用-c|–cpu-shares[=0]引數來調整同期使用CPU的權重,
使用-m|–memory引數來調整容器使用記憶體的大小。

23.Docker能在非Linux平臺(Windows+MacOS)上執行嗎?

可以

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

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

25.什麼是docker-compose?

實現批次docker容器編排

相關文章