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容器編排