coding
筱進GG的gravatar頭像
筱進GG2019-09-12 08:52:58
Docker是干什么用的?

長話短說,這里我就不對docker進行系統的介紹說明了,網上很多介紹文章,我想新手的話可以先網上大概了解一下docker的基本概念。有一個模糊的、大概的感覺就行了。多看資料文檔,有百利而無一害。

 

Docker不是虛擬機

很多人一開始學習Docker的時候,感覺Docker很像虛擬機,誤以為Docker就是虛擬機。其實Docker不是虛擬機!這個千萬不要搞錯了!先記下這個硬性結果,后續真正搞環境搭建、項目部署的時候,就會明白了~不要著急,也不用擔心^_^。

 

對Docker有一個感官的感受吧

比如公司買了一臺新服務器,系統是centos,你要想把項目部署到服務器上,而且項目中使用到了mysql、redis、activemq、zookeeper等技術,要想項目能在服務器上正常運行,必須在新的服務器上搭建好mysql、redis、activemq、zookeeper服務環境。這樣的話,在環境搭建和配置上就要花費太多的時間了(因為需要配置很多的配置文件、需要手動啟動服務等)。

又或者每次重裝一次系統或者換一個機器,你就要把環境重裝一次,東西越多花費的時間越多、很麻煩、浪費時間和精力。

而使用Docker的話,你只需要一條命令,你就可以在你的centos系統上運行你需要的軟件,比如mysql、tomcat、jdk、redis等。

光文字介紹,無法直觀的感受到docker的強大之處,那就舉兩個例子看看吧~

 

【示例1】:Docker上安裝mysql

  • 你需要MySQL服務,那么在docker中通過簡單的命令就可以安裝一個MySQL數據庫服務:

docker pull mysql

哇!mysql就這樣安裝好了? my god!太簡單快捷了吧!

 

那如何啟動mysql呢?命令如下:

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql

很簡單吧,一個mysql服務就啟動完成了,就可以正常使用了。可以通過mysql客戶端(Navicat、DataGrip等)連接這個mysql數據庫。

 

目前你可以不用去知道具體的命令以及參數的含義,感官上感覺一下docker的強大就行了。后面具體的環境部署搭建會詳細說明。

 

【示例2】:Docker上安裝jdk

  • 你需要JDK環境,那么在Docker中通過簡單的命令安裝一個JDK的鏡像, 然后通過一條命令啟動這個容器就行了,容器會自動給你安裝配置好JDK環境。

同樣的,一條命令就可以完成:

docker pull java

就這么簡單的一條命令,JDK就安裝好了。你可以在Docker容器的命令行中通過java -version來檢測jdk是否安裝成功。

 

 

 

鏡像、容器

對于新手而言,或許有點不明白鏡像和容器分別是個什么東東,還是有點不明白。

你可以這樣感官的理解:

鏡像 —— 相當于ISO操作系統的安裝包,ISO鏡像的內容是固定的,不會發生改變,可以重復使用。

容器 —— 類似于使用 ISO鏡像安裝的新的操作系統,可以使用一個相同的ISO鏡像,安裝很多操作系統。

 

你也可以制作屬于自己的鏡像哦

你可以在某個Docker鏡像的基礎之上,對Docker容器進行修改。比如添加了一些你自己的軟件或修改一些配置文件,然后執行commit命令,這樣你就把這個容器制作成了一個新的鏡像(也就是自定義鏡像),以后你就可以用這個鏡像創建出N個一模一樣環境的容器。

 

比如你要學習搭載Redis集群,那么你可以下載一個Redis的鏡像,然后啟動容器,進入這個容器的文件系統里面,在這個容器里面把redis集群的配置都設置好后,然后通過commit命令提交這個容器生成新的鏡像,以后就可以使用這個鏡像運行出更多的redis集群環境的容器了,而且環境也都是一模一樣的,就無需再去從頭搭建redis集群環境了。

 

具體的環境搭建,這里不做過多的說明,后面會講解。

 

Docker占用的資源很小。啟動一個容器一般都是秒級的。

 

Docker的優缺點

這里不多做描述,隨著學習后面的Docker容器啟動、項目部署等教程,你自然就會感受到Docker的優勢以及存在的不足。

當然,你也可以自行網上查詢資料學習。

歡迎加我QQ交流學習!


打賞

已有1人打賞

最代碼官方的gravatar頭像

分享到:

最近瀏覽
xxljxgz LV208小時前
太陽月亮
wangshaoqiu LV311小時前
星星星星星星
nlnlnl昨天
暫無貢獻等級
浙江螃蟹 LV610月11日
月亮星星星星
青春撕扯流年 LV810月11日
月亮月亮
SW0769 LV110月11日
星星
fengyumeluo LV1110月10日
月亮月亮星星星星星星
woldxy LV410月10日
月亮
jy34521 LV110月10日
星星
暫無貢獻等級
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
2008大乐透走势图