長話短說,這里我就不對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交流學習!
