docker 幾個關鍵問題

2021-09-23 20:37:41 字數 1453 閱讀 8558

1.容器和映象的區別

映象(image)和容器(container)的關係,就像是物件導向程式設計中的類和例項一樣,映象是靜態的定義,容器是映象執行時的實體。容器可以被建立、啟動、停止、刪除、暫停等 。

2.映象和倉庫的概念

4.registry->repository->tag->images

docker registry中可以包含多個倉庫(repository);每個倉庫可以包含多個標籤(tag);每個標籤對應乙個映象。所以說:映象倉庫是docker用來集中存放映象檔案(image)的地方類似於我們之前常用的**倉庫

5.公開服務和私有docker registry

最常使用的registry公開服務是官方的docker hub ,這也是預設的registry,並擁有大量的高質量的官方映象,**為:hub.docker.com/ 。在國內訪問docker hub可能會比較慢國內也有一些雲服務商提供類似於docker hub的公開服務。

除了使用公開服務外,使用者還可以在本地搭建私有docker registry 。docker官方提供了docker registry映象,可以直接使用做為私有registry服務。開源的docker registry映象只提供了docker registry api的服務端實現,足以支援docker命令,不影響使用。但不包含圖形介面,以及映象維護、使用者管理、訪問控制等高階功能。

6.build,ship,and run

7.執行顯示卡的nvidia-docker外掛程式

nvidia-docker是乙個可以使用gpu的docker,nvidia-docker是在docker上做了一層封裝,通過nvidia-docker-plugin,然後呼叫到docker上,其最終實現的還是在docker的啟動命令上攜帶一些必要的引數。因此在安裝nvidia-docker之前,還是需要安裝docker的。

docker一般都是使用基於cpu的應用,而如果是gpu的話,就需要安裝特有的硬體環境,比如需要安裝nvidia driver。所以docker容器並不直接支援nvidia gpu。為了解決這個問題,最早的處理辦法是在容器內部,全部重新安裝nvidia driver,然後通過設定相應的裝置引數來啟動container,然而這種辦法是很脆弱的。因為宿主機的driver的版本必須完全匹配容器內的driver版本,這樣導致docker image無法共享,很可能本地機器的不一致導致每台機器都需要去重複操作,這很大的違背了docker的設計之初。

為了使docker image能很便利的使用nvidia gpu,從而產生了nvidia-docker,由它來製作nvidia driver的image,這就要求在目標機器上啟動container時,確保字元裝置以及驅動檔案已經被掛載。

nvidia-docker-plugin是乙個docker plugin,被用來幫助我們輕鬆部署container到gpu混合的環境下。類似乙個守護程序,發現宿主機驅動檔案以及gpu 裝置,並且將這些掛載到來自docker守護程序的請求中。以此來支援docker gpu的使用。

SaaS 運營關鍵問題

1。強大的硬體投入。保障24小時不間斷使用者資料訪問 amazon一年故障控制在5分鐘 伺服器投資佔硬體很大比重 應用伺服器,資料庫伺服器,身份認證伺服器,儲存備份伺服器等 2。穩定性 a。saas應作為乙個運營軟體,這就要求使用者任意輸入資料都不會導致系統錯誤,否則海量使用者會造成巨大損失。如,輸...

tensorflow 關鍵問題辨析

tensorflow中name scope和variable scope的理解 之所以會出現這兩種型別的scope,主要是後者 variable scope 為了實現tensorflow中的變數共享機制 即為了使得在 的任何部分可以使用某乙個已經建立的變數,tf引入了變數共享機制,使得可以輕鬆的共享...

ceph若干關鍵問題

1.ceph群集裡pg存在的意義?由於pg和osd的數量都比較有限,記錄每個osd承載了哪些pg可行,而且變化不頻繁,開銷小。在osd x故障後,很容易獲得osd x承載的pg列表,並計算出各個pg的另外兩個副本在哪個osd。而每個pg下面的物件,都按照pg做了聚集 稱為collection,每個p...