亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker能干什么

發布時間:2021-12-13 17:28:25 來源:億速云 閱讀:216 作者:iii 欄目:云計算

本篇內容介紹了“Docker能干什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Docker是啥?

打開翻譯君輸入Docker 結果顯示碼頭工人,沒錯!碼頭工人搬運的是集裝箱,那么今天要講的Docker其操作的也是集裝箱,這個集裝箱就靜態而言就是一個應用鏡像文件,就動態而言,就是一個容器。蒙了吧?好吧,上圖解釋。
Docker能干什么

Docker從狹義上來講就是一個進程,從廣義上來講是一個虛擬容器,其實更專業的叫法是應用容器( Application Container ),Docker進程和普通的進程沒有任何區別,它就是一個普通的應用進程。不過是用來操作鏡像文件的。所以Docker進程+構建的應用鏡像文件就等于Docker容器。本文所有講的Docker都是指Docker容器哦。

再繼續下文之前我們首先要明確幾個docker重要的基本概念吧,鏡像,容器,倉庫。

鏡像Docker images,就類似于VM虛擬機里面的快照,但是可比快照輕量化多了。快照不懂?那可以把images直接理解成一個文件夾。我們可以通過ID或者易識別的名字+tag來確認唯一的目標鏡像。ImagesID是一個64位的字符,但是一般我們都是使用前面12位就足夠區別了。
Docker能干什么

容器Docker containers,你可以從鏡像中創建容器,這如同從快照中創建虛擬機,不過更輕量,啟動更快,秒啟。應用是在容器中運行的,打個比方,你首先下載了一個Ubuntu的鏡像,然后又安裝mysql和Django應用及其依賴,來完成對它Ubutun鏡像的修改,一個個人覺得非常完美應用鏡像生成了!就把這個鏡像分享給大家使用,大家通過這個鏡像就生成一個容器。容器啟動之后就會運行Django服務了。
Docker能干什么

倉庫Docker registeries,docker倉庫和存放集裝箱的倉庫是一樣的,不過docker使用來存放鏡像的。倉庫存在公有和私有之分,公有倉庫docker hub提供了非常多的鏡像文件,這些鏡像直接拉取下來就可以運行了,你也可以上傳自己的鏡像到docker hub上面。同時也可以自己搭建私有倉庫用于團隊項目管理。

結合前面介紹的基本概念,我們可以將docker的幾個概念使用大致串起來,他們之間是如何運作的,也就是Docker的生命周期。看下圖,主要是三步走。
Docker能干什么

我們來看一下二者的區別,因為 VM 的 Hypervisor 需要實現對硬件的虛擬化,并且還要搭載自己的操作系統,其中虛擬機操作系統占用內存是比較大的,一個操作系統有好幾個G,自然在啟動速度和資源利用率以及性能上有非常大的開銷,如果在本地,或者個人電腦,那么影響還不是那么大,但是在云端就是一個非常大的資源浪費。

咱們很多時候做事情的時候不會考慮與事情本身無關的問題,比如造飛機的不會考慮飛機是否要潛水,對于我們目前很多移動互聯網的應用來說,很少會涉及到對操作系統的部分,其實我們主要關心的是應用的本身,而VM虛擬機的上層是運行的運行時庫和應用,整個虛擬機的空間是非常的龐大,但是容器化技術Docker技術的出現后,省去了操作系統這一層,多個容器之間相互隔離且共用了宿主操作系統和運行時庫。

所以Docker 應用容器相對于 VM 有以下幾個優點:

  • 啟動速度快,容器啟動本質就是一個開啟一個進程而已,因此都是秒啟,而 VM 通常要更久。

  • 資源利用率高,一臺普通 PC 可以跑成百上千個容器,你跑十個 VM 試試。

  • 性能開銷小, VM 通常需要額外的 CPU 和內存來完成 OS 的功能,這一部分占據了額外的資源。

所以很多移動互聯網的應用或者云計算的后端節點都可以用docker來替換物理機器或者虛擬機。比如騰訊地圖的很多后臺服務基本上都遷移docker部署了。

Docker是個啥架構?底層又是用的啥技術?

前面說了那么多,始終還是霧里看花。下面就詳細介紹一下技術架構,底層又是用的啥技術來實現上述那么多優點的?

Docker技術架構圖:
Docker能干什么

Docker安裝

通過腳本的方式安裝docker,非常簡單。

1、 獲取最新的docker安裝包

nicktang@nicktang-virtual-machine:~$ wget -qO- https://get.docker.com/ | sh
Docker能干什么
Docker能干什么
能夠看見版本號,說明docker的安裝成功。簡單吧!至此就差一個鏡像了。自己制作還是從公共倉庫拉取就隨你啦。
root@nicktang-virtual-machine:/data # sudo service docker stop #關閉守護進程

Docker使用

Docker的使用,我們主要從【增刪查】幾方面來說說怎么使用docker,為什么沒有【改】呢,因為在我看來docker容器一旦出現問題了,根本沒有修復的必要,直接把容器停止并刪除,再啟動,這樣來得快。所以我們只需要掌握幾個基本命令即可,具體如下。
【查】查看本地已有的鏡像 Docker images
Docker能干什么
再用docker images查看的時候本地就增加了centos鏡像。
Docker能干什么
第一個字段就是已經啟動的容器ID,第二個字段就是這個容器是根據哪個鏡像生成的。但是上面這個命令只是臨時啟動一下容器,上面圖中的status 是exited(0),表示容器是退出狀態。如果想容器在后臺運行,所以我們需要啟動守護式容器才可以,只要在啟動命令中添加一個 -d參數,即docker run -d centos就可以了。

【查】查看鏡像/容器的具體信息 docker inspect鏡像ID(鏡像名)/容器ID(容器名) docker inspect centos

這個命令是返回一個鏡像或者容器詳細信息的json串。其中包括ID,ip,版本,容器的主程序等非常多的信息,根據這些信息我們可以進行二次開發。在這個命令的基礎之上增加一個-f參數我們可以指定獲取自己需要的信息,比如獲取redis容器的IP地址,內存信息,CPU使用情況。docker inspect -f '{{.NetworkSettings.IPAddress}}' [ID /Name]
Docker能干什么

查看容器目錄結構,發現和物理機器的目錄結構完全一致,這就是為什么有的人稱docker容器也稱之為虛擬機的原因啦。Exit可以退出容器終端。
Docker能干什么

怎么用Docker完成持續集成、自動交付、自動部署?

這年頭見面不聊點自動化什么的,持續什么的,都不好意思。所以,咱們也要了解一下持續集成,自動交付,自動部署。但是上面說了這么多,沒發現Docker有那三樣功能啊,是的,Docker是沒有這個功能,但是你在完成上述三樣自動化的步驟都是依賴Docker的。Docker是這些流程實現的基礎,就如同軟件開發,軟件代碼才是根本,開發工具是輔助。所有搭建一個完整的自動化流程還需要github+jenkins+ registry三樣幫助。

持續集成和自動部署的原理如下圖所示:

  1. RD推送代碼到git 倉庫或者svn等代碼服務器上面,git服務器就會通過hook通知jenkins。

  2. jenkine 克隆git代碼到本地,并通過dockerFile文件進行編譯 。

  3. 打包生成一個新版本的鏡像并推送到倉庫 ,刪除當前容器 ,通過新版本鏡像重新運行。

而在整個過程中 RD只需要敲入三個命令Git add * ;Git commit –m “”;Git push即可完成持續集成、自動交付、自動部署。后面通過案例實際演示這個過程的神奇!

Docker還可以很方便的自動擴容哦,一般的自動擴容的兩種方式,一種就是docker容量擴大,另一種就是docker節點數擴充。第一種就修改配置文件即可,第二種通過簡單的拷貝,運行就完成了節點的擴容。

“Docker能干什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

神木县| 本溪| 古田县| 黄龙县| 延长县| 工布江达县| 永春县| 大名县| 武定县| 上犹县| 兰州市| 嘉黎县| 建德市| 浦城县| 吉木乃县| 汕尾市| 吴忠市| 虹口区| 正阳县| 荔浦县| 攀枝花市| 都安| 梓潼县| 江津市| 江安县| 武宣县| 南丰县| 庄河市| 屯门区| 盐源县| 郴州市| 本溪市| 公安县| 晋中市| 眉山市| 汾西县| 江北区| 新乐市| 嘉祥县| 云阳县| 原平市|