摘要:的理念為基本概念提供給用戶的客戶端。服務(wù)的守護(hù)進(jìn)程。它們簡(jiǎn)化了從頭到尾的流程并極大的簡(jiǎn)化了部署工作。是官方提供的一款集群管理工具,其主要作用是把若干臺(tái)主機(jī)抽象為一個(gè)整體,并且通過(guò)一個(gè)入口統(tǒng)一管理這些主機(jī)上的各種資源。
1. Docker簡(jiǎn)介:
docker是一個(gè)基于LXC的高級(jí)容器引擎。簡(jiǎn)單地說(shuō),docker是一個(gè)輕量級(jí)的虛擬解決方案,或者說(shuō)它是一個(gè)超輕量級(jí)的虛擬機(jī)(容器)。
Docker是一個(gè)開(kāi)源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。
Docker 的理念為“Build, Ship and Run Any App, Anywhere”
基本概念
Docker Client:Docker提供給用戶的客戶端。
Docker Daemon:Docker服務(wù)的守護(hù)進(jìn)程。
Docker Images:Docker的鏡像,一張 “只讀” 的系統(tǒng)CD。
Docker Container:Docker的容器,Docker Images運(yùn)行實(shí)例。
Docker Registry : Docker Images的倉(cāng)庫(kù),Dock Hub。
架構(gòu)
AUFS聯(lián)合文件系統(tǒng)
AUFS 是一種 Union File System(聯(lián)合文件系統(tǒng)),又叫 Another UnionFS,后來(lái)叫Alternative UnionFS,再后來(lái)叫成高大上的 Advance UnionFS。所謂 UnionFS,就是把不同物理位置的目錄合并mount到同一個(gè)目錄中。UnionFS的一個(gè)最主要的應(yīng)用是,把一張CD/DVD和一個(gè)硬盤目錄給聯(lián)合 mount在一起,然后,你就可以對(duì)這個(gè)只讀的CD/DVD上的文件進(jìn)行修改(當(dāng)然,修改的文件存于硬盤上的目錄里)
LXC
LXC 就是 Linux Container。 LXC 也是一種輕量的虛擬技術(shù),Linux 原生支持的容器。可以說(shuō) docker 就是基于 LXC 發(fā)展起來(lái)的,提供 LXC 的高級(jí)封裝,發(fā)展標(biāo)準(zhǔn)的配置方法。
LXC可以在操作系統(tǒng)層次上為進(jìn)程提供的虛擬的執(zhí)行環(huán)境,一個(gè)虛擬的執(zhí)行環(huán)境就是一個(gè)容器。可以為容器綁定特定的cpu和memory節(jié)點(diǎn),分配特定比例的cpu時(shí)間、IO時(shí)間,限制可以使用的內(nèi)存大小(包括內(nèi)存和是swap空間),提供device訪問(wèn)控制,提供獨(dú)立的namespace(網(wǎng)絡(luò)、pid、ipc、mnt、uts),主要使用了cgroup技術(shù)。
CGroup是Control Groups的縮寫(xiě),是Linux內(nèi)核提供的一種可以限制、記錄、隔離進(jìn)程組所使用的硬件資源的機(jī)制。
與虛擬機(jī)對(duì)比
2. Docker安裝brew cask install docker 或到官網(wǎng)下載 https://store.docker.com/editions/community/docker-ce-desktop-mac3. Docker使用
基本命令
查詢docker版本: docker version
查看docker環(huán)境信息:docker info
列出所有鏡像:docker images
列出運(yùn)行狀態(tài)的容器實(shí)例:docker ps
從遠(yuǎn)程摘取docker鏡像:docker pull [鏡像名:版本號(hào)/tag]
提交docker修改內(nèi)容:docker commit [containerId] tag
交互模式啟動(dòng)容器:docker run -it -p 8080:8080 -v /usr/local:/var/jenkins_home --name jenkins jenkins:latest
后臺(tái)模式啟動(dòng)容器:docker run -d -p 8080:8080 -v /usr/local:/var/jenkins_home --name jenkins jenkins:latest
查看容器日志:docker logs [containerId]
連接到docker容器終端上:docker attach [containerId]
查看容器或鏡像詳細(xì)信息:docker inspect [containerId/imageId]
在容器上執(zhí)行命令:docker exec [containerId] COMMAND [ARG...]
4. DockerfileDockerfile是由一系列命令和參數(shù)構(gòu)成的腳本,這些命令應(yīng)用于基礎(chǔ)鏡像并最終創(chuàng)建一個(gè)新的鏡像。它們簡(jiǎn)化了從頭到尾的流程并極大的簡(jiǎn)化了部署工作。Dockerfile從FROM命令開(kāi)始,緊接著跟隨者各種方法,命令和參數(shù)。其產(chǎn)出為一個(gè)新的可以用于創(chuàng)建容器的鏡像
5. 容器編排 DockerCompseCompose是用于定義和運(yùn)行復(fù)雜Docker應(yīng)用的工具。你可以在一個(gè)文件中定義一個(gè)多容器的應(yīng)用,然后使用一條命令來(lái)啟動(dòng)你的應(yīng)用,然后所有相關(guān)的操作都會(huì)被自動(dòng)完成。
DockerSwarmSwarm是Docker官方提供的一款集群管理工具,其主要作用是把若干臺(tái)Docker主機(jī)抽象為一個(gè)整體,并且通過(guò)一個(gè)入口統(tǒng)一管理這些Docker主機(jī)上的各種Docker資源。Swarm和Kubernetes比較類似,但是更加輕,具有的功能也較kubernetes更少一些。
KubernetesKubernetes(通常寫(xiě)成“k8s”)是最開(kāi)始由google設(shè)計(jì)開(kāi)發(fā)最后貢獻(xiàn)給Cloud Native Computing Foundation的開(kāi)源容器集群管理項(xiàng)目。它的設(shè)計(jì)目標(biāo)是在主機(jī)集群之間提供一個(gè)能夠自動(dòng)化部署、可拓展、應(yīng)用容器可運(yùn)營(yíng)的平臺(tái)。Kubernetes通常結(jié)合docker容器工具工作,并且整合多個(gè)運(yùn)行著docker容器的主機(jī)集群。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/27487.html
摘要:初識(shí)是什么是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于語(yǔ)言并遵從協(xié)議開(kāi)源。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口更重要的是容器性能開(kāi)銷極低。命令為,如下由此可知,我們新打包的鏡像的為。登錄賬號(hào)再輸入自己的賬號(hào)密碼即可。 初識(shí)Docker Docker是什么? ??Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于?Go 語(yǔ)言并遵從Apache2.0協(xié)議開(kāi)源。??Docker 可以讓開(kāi)發(fā)者打包他們的...
摘要:至于很具體的操作指令,比如怎么安裝,怎么和來(lái)跑一個(gè)簡(jiǎn)單的,請(qǐng)參考官方文檔部分的或者也可參考文末的一些參考資料參考資料官方文檔入門教程系列簡(jiǎn)明教程使用演示中文系列資源從入門到實(shí)踐作者更多文章個(gè)人網(wǎng)站 docker入門概覽 標(biāo)簽 : docker [TOC] 本文對(duì)docker進(jìn)行大致介紹,包括概述,安裝,簡(jiǎn)單使用,架構(gòu),基本原理等方面 寫(xiě)在前面 本文是自己學(xué)習(xí)docker的一個(gè)記錄...
摘要:入門系列之一在一個(gè)容器里運(yùn)行指定的應(yīng)用入門系列之二使用制作包含指定應(yīng)用的鏡像本文我們會(huì)介紹如何將這個(gè)本地制作好的鏡像發(fā)布到,讓全世界其他愛(ài)好者能夠使用您的鏡像。首先您得在上注冊(cè)一個(gè)帳號(hào)然后創(chuàng)建一個(gè)新的,用于存放鏡像。 這個(gè)系列的前兩篇文章,我們已經(jīng)把我們的應(yīng)用成功地在Docker里通過(guò)nginx運(yùn)行了起來(lái),并且用dockerfile里制作好了一個(gè)鏡像。 Docker入門系列之一:在一...
摘要:從命名上就知道這是一篇簡(jiǎn)單粗暴的新手入門教程,為什么要簡(jiǎn)單粗暴我認(rèn)為有自學(xué)能力的人幫他入門就夠了,不能自學(xué)的一時(shí)半會(huì)兒也教不會(huì),不符合入門教程的初衷,建議出門左拐去找找視頻教程本章目標(biāo)大概了解是個(gè)什么玩意知道常用的指令參數(shù)能啟動(dòng)一個(gè)容器不然 從命名上就知道這是一篇簡(jiǎn)單粗暴的docker新手入門教程, 為什么要簡(jiǎn)單粗暴? 我認(rèn)為有自學(xué)能力的人幫他入門就夠了, 不能自學(xué)的一時(shí)半會(huì)兒也教不會(huì)...
摘要:前言其實(shí)接觸也有一段時(shí)間了,但是一直沒(méi)有做下總結(jié),現(xiàn)在網(wǎng)上關(guān)于的介紹也有很多了,本著好記性不如爛筆頭的原則,還是自己再記錄一波吧。實(shí)現(xiàn)目標(biāo)安裝探索基本概念及用法環(huán)境準(zhǔn)備位,內(nèi)核版本不低于安裝以下命令均需在權(quán)限下執(zhí)行。 showImg(https://segmentfault.com/img/remote/1460000017894270?w=538&h=344); 前言 其實(shí)接觸 do...
摘要:原文地址零基礎(chǔ)入門指南一介紹簡(jiǎn)介源代碼托管在上,公司開(kāi)源的一個(gè)基于技術(shù)之上構(gòu)建的容器引擎,基于語(yǔ)言并遵從協(xié)議開(kāi)源。通過(guò)等實(shí)現(xiàn)內(nèi)核虛擬化技術(shù),并提供容器的資源隔離與安全保障等。 原文地址:Docker零基礎(chǔ)入門指南(一):Docker介紹 Docker簡(jiǎn)介 Docker源代碼托管在 GitHub上,Docker 公司開(kāi)源的一個(gè)基于LXC技術(shù)之上構(gòu)建的Container容器引擎,基于Go...
閱讀 2603·2021-11-18 10:02
閱讀 2636·2021-11-15 11:38
閱讀 3711·2021-11-12 10:36
閱讀 706·2021-11-12 10:34
閱讀 2897·2021-10-21 09:38
閱讀 1492·2021-09-29 09:48
閱讀 1504·2021-09-29 09:34
閱讀 1098·2021-09-22 10:02