Q1。什麼是容器?
我的建議是首先解釋對容器化的需求,容器用於提供一致的計算環境,從開發人員的膝上型電腦到測試環境,從過渡環境到生產環境。
現在給出容器的定義,一個容器包含一個完整的執行時環境:一個應用程式,及其所有依賴項,庫和其他二進位制檔案,以及執行該檔案所需的配置檔案,這些檔案捆綁在一個程式包中。容器化應用程式平臺及其依賴項可消除OS分佈和基礎架構中的差異。
Q2。與虛擬化相比,容器化提供了哪些優勢?
以下是容器化相對於虛擬化的優勢:
- 容器提供實時配置和可伸縮性,但虛擬機器提供緩慢的配置
- 與虛擬機器相比,容器輕巧
- 與容器相比,VM的效能有限
- 與VM相比,容器具有更好的資源利用率
Q3。容器(在我們的例子中為Docker)與虛擬機器管理程式虛擬化(vSphere)有何不同?有什麼好處?
下面給出一些區別。確保在回答中包括以下差異:
Q4。什麼是Docker映像?
Docker映像是Docker容器的來源。換句話說,Docker映像用於建立容器。影像是使用build命令建立的,開始執行時它們會產生一個容器。影像儲存在Docker登錄檔中,例如registry.hub.docker.com,因為它們可能會變得很大,影像被設計為由其他影像層組成,從而在通過網路傳輸影像時僅傳送少量資料。
Q5。什麼是Docker容器?
這是一個非常重要的問題,因此請確保您不偏離本主題。我建議您遵循以下格式:
Docker容器包括應用程式及其所有依賴項,但與其他容器共享核心,並在主機作業系統上的使用者空間中作為隔離的程式執行。Docker容器不依賴於任何特定的基礎架構:它們可以在任何計算機,任何基礎架構和任何雲中執行。
現在說明如何建立Docker容器。可以通過建立Docker映像然後執行它來建立Docker容器,也可以使用Dockerhub上存在的Docker映像。
Docker容器基本上是Docker映像的執行時例項。
Q6。什麼是Docker Hub?
這個問題的答案很直接。Docker Hub是一項基於雲的登錄檔服務,可讓您連結到程式碼儲存庫,構建映像並對其進行測試,儲存手動推送的映像以及與Docker雲的連結,以便您可以將映像部署到主機。它為整個開發流程中的容器映像發現,分發和變更管理,使用者和團隊協作以及工作流自動化提供了集中式資源。
Q7。 Docker與其他容器技術有何不同?
根據我的說法,您的答案應該
包含以下幾點:Docker容器易於部署在雲中。與其他技術相比,它可以使更多的應用程式在同一硬體上執行,這使開發人員可以輕鬆快速地建立可立即執行的容器化應用程式,並使管理和部署應用程式更加容易。您甚至可以與應用程式共享容器。
如果您還有其他要點,可以這樣做,但請確保您的答案中有上面的解釋。
Q8。 什麼是Docker Swarm?
您應該通過解釋Docker Swarn開始這個答案。它是Docker的本機叢集,可將Docker主機池轉換為單個虛擬Docker主機。Docker Swarm提供了標準的Docker API,任何已經與Docker守護程式通訊的工具都可以使用Swarm透明地擴充套件到多個主機。
我還將建議您包括一些受支援的工具:
- 獨庫
- Docker撰寫
- Docker機器
- jenkins
Q9。Dockerfile的作用是什麼?
根據我的回答,應該從解釋Dockerfile的使用開始。Docker可以通過閱讀Dockerfile中的指令來自動構建映像。
現在,我建議您給Dockerfle一個小定義。Dockerfile是一個文字文件,其中包含使用者可以在命令列上呼叫以組裝映像的所有命令。使用docker build的使用者可以建立自動執行的構建,該構建可以連續執行多個命令列指令。
Q10。 我可以在Docker中的撰寫檔案中使用json而不是yaml嗎?
您可以將json而不是yaml用於撰寫檔案,以將json檔案與compose一起使用,指定要使用的檔名,例如:
docker-compose -f docker-compose.json up
Q11。 告訴我們您過去使用Docker的方式嗎?
說明您如何使用Docker來幫助快速部署。說明您如何編寫Docker指令碼並將Docker與其他工具(如Puppet,Chef或Jenkins)一起使用。如果您以前沒有使用過Docker的實踐經驗,也沒有使用過類似領域其他工具的經驗,請誠實並進行相同的解釋。在這種情況下,就功能而言,是否可以將其他工具與Docker進行比較是有意義的。
Q12。如何建立Docker容器?
我建議您直接回答。我們可以通過以下命令使用Docker映像建立Docker容器:
**docker run -t -i <映像名稱> <命令名稱>
**此命令將建立並啟動容器。
您還應該新增,如果要檢查主機上所有執行容器的列表以及狀態,請使用以下命令:
docker ps -a
Q13。如何停止並重新啟動Docker容器?
為了停止Docker容器,您可以使用以下命令:
docker stop <容器ID>
現在要重新啟動Docker容器,您可以使用:
docker restart <容器ID>
Q14。Docker容器可擴充套件到多遠?
諸如Google和Twitter之類的大型Web部署以及諸如Heroku和dotCloud之類的平臺提供商都基於容器技術執行,並行執行的容器數以十萬甚至數百萬計。
Q15。Docker在什麼平臺上執行?
首先,我將說Docker僅在Linux和Cloud平臺上執行,然後再提及以下Linux供應商:
- Ubuntu 12.04、13.04等
- Fedora 19/20 +
- RHEL 6.5+
- CentOS 6以上
- Gentoo
- ArchLinux
- openSUSE 12.3+
- CRUX 3.0+
雲:
- Amazon EC2
- Google Compute Engine
- Microsoft Azure
- Rackspace
- Alibaba
Q16。Docker容器退出時是否會丟失資料?
您可以這樣說:不,當Dcoker容器退出時,不會丟失資料。應用程式寫入磁碟的所有資料都會保留在其容器中,直到您明確刪除該容器為止。即使在容器停止後,該容器的檔案系統仍然存在。