Docker簡介,docker是干什么的

【Docker簡介,docker是干什么的】Docker有什么優勢?

Docker簡介,docker是干什么的


單純的Docker是一個非常難理解的東西,它和虛擬機有些類似,但又不等同于虛擬機,它們的原理是不同的 。虛擬機只是對硬件進行虛擬化,基于物理機的硬件虛擬出一套硬件之后,在這個基礎上運行一個完整的操作系統,而Docker是虛擬化的容器,容器虛擬化的是操作系統而不是硬件,容器和容器之間共享同一套操作系統資源 。
容器的優勢是非常明顯的:虛擬機將一臺服務器變成多臺服務器,每一個VM都擁有整套的操作系統、需要占用大量的空間,所以VM啟動緩慢系統也會占用很多的硬件資源 。代碼、依賴的資源打包在一起形成一個容器,容器沒有自己的內核,容器內的應用直接運行在系統的內核上,多個容器可以同時運行共享系統內核,但容器之間又以相互獨立的進程在運行 。
所以容器比虛擬機要輕便很多,幾乎瞬間就能啟動 。如此這般說Docker的概念還是很抽象,舉個例子:Ubuntu的系統搭建的項目要部署到CentOS的服務器上,所有依賴的環境(比如:MySQL、Redis等等)都需要重新安裝一遍,并按照部署的要求進行配置 。使用Docker只需要一條命令就可以達成,需要MySQL只需要安裝一個MySQL的鏡像,需要Redis只需要安裝一個帶Redis的鏡像,然后啟動這些容器就可以 。
容器可以用別人制作的,也可以添加一些自己的軟件、修改相應的配置文件做一個鏡像,通過這個鏡像就可以創建出無數個一模一樣的容器 。Docker和各大開源項目團隊一起維護著龐大高質量的官方鏡像,我們可以直接使用或者修改定制后再使用 。你還無法體會這樣的優勢所在,比如通過一個Redis鏡像,可以輕松的搭建一個集群 。
容器更多地用來表示軟件的標準化單元,無視物理硬件設施之間的差異部署到任意位置、任意平臺,所以容器又被譽為代碼集裝箱裝卸工 。如此這般就不會再出現諸如“這段代碼在我機器上運行沒有問題”之類的,可以輕松的將在一個平臺上運行的應用,迅速的遷移到另一個平臺,而不用考慮平臺和運行環境的兼容性 。Docker包含了鏡像(Image)、容器(Container)、倉庫(Repository)Docker的鏡像相當于Linux的root文件系統,它提供容器運行所需要的軟件、資源、配置參數、庫文件等等 。
容器才是運行的實體,鏡像是經過一層層構建定義的,里面不包含任何動態數據,構建完之后就不會再改變,而容器可以創建、啟動、停止、暫停、刪除 。倉庫是用來集中存放鏡像文件,這樣就便于服務器進行統一的管理 。Docker碼頭裝卸工的形象已經深入人心Docker將開源倉庫的鏡像拉到本地,鏡像運行后在本地運行形成容器,這個就是Docker碼頭裝卸工的形象,已經深入人心 。
你用docker做過什么好玩或者有逼格的事情?
Docker簡介,docker是干什么的


使用 Docker 搭建 Jenkins python3 selenium\helium 項目項目背景用 python3 在本地寫了一個項目,這個項目采用 helium selenium chrome 進行界面操作,代碼放在 gitee 上托管 。現在基本功能已經實現,想在 Linux 服務器上部署項目代碼,實現自動構建 。
自動構建解決方案自動構建工具選型:jenkins中間件選型:docker代碼運行環境:python3腳本運行工具:Chrome 瀏覽器、chromedriver、helium 庫Ⅰ、安裝 dockerLinux 系統中安裝 dockercurl -fsSL https://get.docker.com。

    推薦閱讀