Docker:入門課

一. 簡介

Docker是一個用于開發(fā),交付和運行應用程序的開放平臺。Docker使我們能夠將應用程序與基礎架構分開,從而可以快速交付軟件。借助Docker,我們可以與管理應用程序相同的方式來管理基礎架構。通過利用Docker快速交付,測試和部署代碼的方法,可以顯著減少編寫代碼和在生產環(huán)境中運行代碼之間的延遲。

Docker提供了工具和平臺來管理容器的生命周期:

  • 使用容器開發(fā)應用程序及其支持組件。
  • 容器成為分發(fā)和測試公司應用程序的單元。
  • 準備就緒后,可以將應用程序作為容器或協(xié)調服務部署到生產環(huán)境中。無論是生產環(huán)境還是本地數(shù)據(jù)中心,云提供商還是兩者的混合,實現(xiàn)跨基礎設施架構。

二. 使用

由于個人主要使用macOS,所以以后的分享主要側重macos系統(tǒng)為主,linux的操作差別不大,但是Windows系統(tǒng)略有區(qū)別。

2.1 安裝

  • Docker Desktop for Mac安裝
    Mac Desktop
  • brew安裝
    我們通過brew的安裝指令安裝即可,如
    brew cask install docker

2.2 安裝Docker-Compose

其實在Mac上面安裝都很方便,上面的倆種方式都包含了Docker-Compose組件了,所以不需要單獨安裝。
但是Linux和windows可能略有不同,請同學多查看官方文檔。


docker dashboard

2.3 驗證

驗證Docker以及Docker-Compose的版本,請使用如下指令:

docker --version
docker-compose --version

效果如下,則為成功


version

三. 核心概念

3.1 鏡像:Image

它類似于虛擬機中的鏡像,是一個包含有文件系統(tǒng)的面向Docker引擎的只讀模板。任何應用程序運行都需要環(huán)境,而鏡像就是用來提供這種運行環(huán)境的。例如一個Ubuntu鏡像就是一個包含Ubuntu操作系統(tǒng)環(huán)境的模板,同理在該鏡像上裝上Apache軟件,就可以稱為Apache鏡像。

3.2 容器:Container

它是鏡像的實例化體現(xiàn),更像一個輕量級的沙盒,可以將其看作一個極簡的Linux系統(tǒng)環(huán)境(包括root權限、進程空間、用戶空間和網絡空間等),以及運行在其中的應用程序。Docker引擎利用容器來運行、隔離各個應用。

容器是鏡像創(chuàng)建的應用實例,可以創(chuàng)建、啟動、停止、刪除容器,各個容器之間是是相互隔離的,互不影響。注意:鏡像本身是只讀的,容器從鏡像啟動時,Docker在鏡像的上層創(chuàng)建一個可寫層,鏡像本身不變。

3.3 倉庫:Repository

它類似于代碼倉庫,只是這兒是更細分的鏡像倉庫,是Docker用來集中存放鏡像文件的地方。
鏡像倉庫(Repository)與注冊服務器(Registry)的區(qū)別:

  • Repository:本身是一個倉庫,這個倉庫里面可以放具體的鏡像,是指具體的某個鏡像的倉庫,比如Tomcat下面有很多個版本的鏡像,它們共同組成了Tomcat的Repository。

  • Registry:鏡像的倉庫,比如官方的是Docker Hub,它是開源的,也可以自己部署一個,Registry上有很多的Repository,Redis、Tomcat、MySQL等等Repository組成了Registry。

四. 總結

Docker的理解和使用非常簡單,但是在這之前我們得知道Docker到底解決了我們什么問題?這個中間價是如何給我們的應用賦能的?
作為一個開發(fā)者,我們應該仔細思考我們的選型,不要為了架構而架構,那就脫離技術的初衷了。

Reference

https://hub.docker.com/editions/community/docker-ce-desktop-mac
https://zhuanlan.zhihu.com/p/23599229
https://docs.docker.com/get-started/

歡迎關注我的博客:https://blog.wyatt.plus

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容