開發和運維之間因為環境不同而導致的矛盾
集群環境下每台機器部署相同的應用
devops(development and operations)
docker是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的linux機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何介面。
docker是世界領先的軟體容器平台。開發人員利用 docker 可以消除協作編碼時「在我的機器上可正常工作」的問題。運維人員利用 docker 可以在隔離容器中並行執行和管理應用,獲得更好的計算密度。企業利用 docker 可以構建敏捷的軟體交付管道,以更快的速度、更高的安全性和可靠的信譽為 linux 和 windows server 應用發布新功能。
簡化程式: docker 讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux機器上,便可以實現虛擬化。docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入docker中進行管理。方便快捷已經是 docker的最大優勢,過去需要用數天乃至數週的 任務,在docker容器的處理下,只需要數秒就能完成
節省開支: 一方面,雲計算時代到來,使開發者不必為了追求效果而配置高額的硬體,docker 改變了高效能必然**格的思維定勢。docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬體管理的問題,也改變了虛擬化
的方式。
docker使用c/s架構,client通過介面與server程序通訊實現容器的構建,執行和發布,如圖:
安裝了docker程式,並執行了docker daemon的主機。
docker daemon(docker 守護程序):
執行在宿主機上,docker守護程序,使用者通過docker client(docker命令)與docker daemon互動。
images(映象):
將軟體環境打包好的模板,用來建立容器的,乙個映象可以建立多個容器。
映象分層結構:
位於下層的映象稱為父映象(parent image),最底層的稱為基礎映象(base image)。
最上層為「可讀寫」層,其下的均為「唯讀」層。
aufs:
containers(容器):
docker的執行元件,啟動乙個映象就是乙個容器,容器與容器之間相互隔離,並且互不影響。
docker命令列工具,使用者是用docker client與docker daemon進行通訊並返回結果給使用者。也可以使用其他工具通過docker api 與docker daemon通訊。
經常會和倉庫(repository)混為一談,實際上registry上可以有多個倉庫,每個倉庫可以看成是乙個使用者,乙個使用者的倉庫放了多個映象。倉庫分為了公開倉庫(public repository)和私有倉庫(private repository),最大的公開倉庫是官方的docker hub,國內也有如阿里雲、時速雲等,可以給國內使用者提供穩定快速的服務。使用者也可以在本地網路內建立乙個私有倉庫。當使用者建立了自己的映象之後就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次在另外一台機器上使用這個映象時候,只需要從倉庫上 pull 下來就可以了。
docker學習 centos安裝docker
1.更新yum源 yum update2.安裝依賴 3.設定yum源 使用ustc,也可以使用阿里雲的 yum config manager add repo4.安裝docker yum install y docker ce通過docker v檢視,如果檢視到版本號,說明安裝成功 5.設定ustc...
Docker學習筆記1
一.docker簡介 1.docker 最初是 dotcloud 公司創始人 solomon hykes 在法國期間發起的乙個公司內部專案,它是基於 dotcloud 公司多年雲服務技術的一次革新。2.docker 是乙個開源的應用容器引擎,基於 go 語言 並遵從apache2.0協議開源。3.d...
Docker學習筆記1 安裝Docker
參考runoob.com的docker教程 我使用的是ubuntu 16.04 lts。由於自17.03後,docker分為ce community edition,社群版 版和ee enterprise edition,企業版 版。我們學習的話,可以使用社群版。step 1 解除安裝舊版本 sud...