代碼與遠方 發表於 2020-02-07 12:34:51
Docker是什麼?
Docker是一個虛擬環境容器,可以將你的開發環境、代碼、配置文件等一併打包到這個容器中,並發布和應用到任意平臺中。比如,你在本地用Python開發網站後臺,開發測試完成後,就可以將Python3及其依賴包、Flask及其各種插件、Mysql、Nginx等打包到一個容器中,然後部署到任意你想部署到的環境。
Docker官方文檔比較全,建議讀一下官方文檔。
Docker的主要用途
官方就是Bulid 、ship、run any app/any where,編譯、裝載、運行、任何app/在任意地放都能運行。就是實現了應用的封裝、部署、運行的生命周期管理只要在glibc的環境下,都可以運行。運維生成環境中:docker化。
發布服務不用擔心伺服器的運行環境,所有的伺服器都是自動分配docker,自動部署,自動安裝,自動運行
再不用擔心其他服務引擎的磁碟問題,cpu問題,系統問題了
資源利用更出色
自動遷移,可以製作鏡像,遷移使用自定義的鏡像即可遷移,不會出現什麼問題
管理更加方便了
為什麼docker越來越受歡迎
容器化越來越受歡迎,因為容器是:
靈活:即使是最複雜的應用也可以貨櫃化。
輕量級:容器利用並共享主機內核。
可互換:您可以即時部署更新和升級。
可攜式:您可以在本地構建,部署到雲,並在任何地方運行。
可擴展:您可以增加並自動分發容器副本。
可堆疊:您可以垂直和即時堆疊服務。
了解docker三個重要概念
image鏡像
docker鏡像就是一個只讀模板,比如,一個鏡像可以包含一個完整的centos,裡面僅安裝apache或用戶的其他應用,鏡像可以用來創建docker容器,另外docker提供了一個很簡單的機制來創建鏡像或者更新現有的鏡像,用戶甚至可以直接從其他人那裡下周一個已經做好的鏡像來直接使用
container容器
docker利用容器來運行應用,容器是從鏡像創建的運行實例,它可以被啟動,開始、停止、刪除、每個容器都是互相隔離的,保證安全的平臺,可以吧容器看做是要給簡易版的linux環境(包括root用戶權限、鏡像空間、用戶空間和網絡空間等)和運行再其中的應用程式3)repostory倉庫
倉庫Repository
倉庫是集中存儲鏡像文件的滄桑,registry是倉庫主從伺服器,實際上參考註冊伺服器上存放著多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的標籤(tag)
倉庫分為兩種,公有參考,和私有倉庫,最大的公開倉庫是docker Hub,存放了數量龐大的鏡像供用戶下周,國內的docker pool,這裡倉庫的概念與Git類似,registry可以理解為github這樣的託管服務。
Docker的安裝和卸載
Docker可以安裝在Windows、Linux、Mac等各個平臺上。具體可以查看文檔Install Docker。安裝完成之後,可以查看Docker的版本信息:
[root@xxx ~]# docker version
Client:
Version: 1.12.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built:
OS/Arch: linux/amd64
Server:
Version: 1.12.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built:
OS/Arch: linux/amd64
查看Docker的幫助信息:# docker --help。各種命令的用法也不再贅述,後邊用到哪些命令時會作出一定的解釋。
後續講講
dockerfile的編譯與鏡像編譯
docker-compose部署與編排
docker命令與鏡像版本提交
docker的原理
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴