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