深入了解docker(docker鏡像、容器、倉庫的基本概念)
本文重點給大家介紹docker鏡像、容器、倉庫的基本概念的知識。
Docker概念
Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
鏡像
Docker 鏡像就是一個只讀的模板。
例如:一個鏡像可以包含一個完整的 CentOS 操作系統(tǒng)環(huán)境,里面僅安裝了 httpd或用戶需要的其它應用程序。
鏡像可以用來創(chuàng)建 Docker 容器。
Docker 提供了一個很簡單的機制來創(chuàng)建鏡像或者更新現有的鏡像,用戶甚至可以直接從其他人那里下載一個已經做好的鏡像來直接使用。
容器
Docker 利用容器來運行應用。
容器是從鏡像創(chuàng)建的運行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。
可以把容器看做是一個簡易版的 Linux 環(huán)境(包括root用戶權限、進程空間、用戶空間和網絡空間等)和運行在其中的應用程序。
*注:鏡像是只讀的,容器在啟動的時候創(chuàng)建一層可寫層作為最上層。
倉庫
倉庫是集中存放鏡像文件的場所。有時候會把倉庫和倉庫注冊服務器(Registry)混為一談,并不嚴格區(qū)分。實際上,倉庫注冊服務器上往往存放著多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的標簽(tag)。
倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。
最大的公開倉庫是 Docker Hub,存放了數量龐大的鏡像供用戶下載。 其作為默認docker倉庫,但在國內下載速度很慢。當然,用戶也可以在本地網絡內創(chuàng)建一個私有倉庫。當用戶創(chuàng)建了自己的鏡像之后就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來就可以了。
*注:Docker 倉庫的概念跟 Git 類似,注冊服務器可以理解為 GitHub 這樣的托管服務。
docker容器安裝
RedHat/CentOS必須要6.6版本以上,或者7.x才能安裝docker,建議在RedHat/CentOS 7上使用docker,因為RedHat/CentOS 7的內核升級到了kernel 3.10,對lxc容器支持更好。
centos6.6安裝docker
rpm -ivh http://mirrors.yun-idc.com/epel/6Server/x86_64/epel-release-6-8.noarch.rpm yum install docker-io chkconfig docker on service docker start docker version
啟動遇到的問題
問題:Docker#docker dead but pid file exists
解決方法:
yum-config-manager --enable public_ol6_latest yum install device-mapper-event-libs
以上所述是小編給大家介紹的docker鏡像、容器、倉庫的基本概念,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
Docker鏡像推送(push)到Docker Hub的實現
這篇文章主要介紹了Docker鏡像推送(push)到Docker Hub的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09