摘要:本系列教程翻譯自,系列共有九篇,本文譯自第一篇。,一種新的容器化技術,因為輕量級和便攜化而受到廣泛關注。本篇文章是系列教程的第一篇。鏡像只讀的容器模板,簡言之就是系統鏡像文件。首先,向發出請求創建一個鏡像并且指定容器內要運行的命令。
本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第一篇 Part 1: An Introduction。
該系列所有文章將參考其他學習資料翻譯,也會加入自己的學習作為部分注解。如有錯誤,歡迎指正。
Docker,一種新的容器化技術,因為輕量級和便攜化而受到廣泛關注。Docker 和 Java 一樣,號稱“一次構建,一次配置,即可到處運行”(build once, configure once and run anywhere)。本篇文章是 Flux7 Docker 系列教程的第一篇。隨著教程的深入,我們將會在以后慢慢探討 Docker 帶來的優勢和如何將 Docker 做到最大化的利用。
我們將在 6-7 周的時間內學習 Docker。(譯者注:其實 2-3 天就能完成這系列的教程我會亂說…)
這篇文章是 Docker 系列教程的基礎:Docker 的概念、安裝和如何開始使用。
Docker 的特點所有介紹一種新語言、新技術的文章開頭都會介紹該技術的出眾之處,本篇文章也不例外。作為當前捧得比較紅的虛擬化技術,Docker 的特色包括但不僅限于:
飛快的運行速度和優雅的抽象框架
廉價
低 CPU 和內存使用
啟動、關閉速度快
可以用來作為云計算的基礎
Docker 應用的實例:微博紅包:大規模 Docker 集群實踐經驗分享Docker 組件/元素
Docker 有基本組件和元素各三個,視頻 Docker Onboarding(請自帶梯子)可以讓你快速弄清三者之間的關系。
Docker Client:用戶和 Docker 守護進程進行通信的接口,也就是 docker 命令。
Docker 守護進程:宿主機上用于用戶應答用戶請求的服務。
Docker Index:用戶進行用戶的私有、公有 Docker 容器鏡像托管,也就是 Docker 倉庫。
Docker 容器:用于運行應用程序的容器,包含操作系統、用戶文件和元數據。
Docker 鏡像:只讀的 Docker 容器模板,簡言之就是系統鏡像文件。
DockerFile:進行鏡像創建的指令文件。
在學習 Docker 組件之前,先來看一下 Docker 底層到底是由什么組成的:
Namespace:隔離技術的第一層,確保 Docker 容器內的進程看不到也影響不到 Docker 外部的進程。
Control Groups:LXC 技術的關鍵組件,用于進行運行時的資源限制。
UnionFS(文件系統):容器的構件塊,創建抽象層,從而實現 Docker 的輕量級和運行快速的特性。
關于 CGroup 和 namespace,可以參考酷殼的這兩篇文章:步驟簡述
Docker基礎技術:Linux Namespace(上)
Docker基礎技術:Linux Namespace(下)
Docker基礎技術:Linux CGroup
運行任何應用都必須按照以下兩個步驟來:
創建一個鏡像文件
運行容器
這些操作是由 Docker Client 來執行的,Docker Client 一般指 docker 命令。首先,Docker Client 向 Docker Daemon 發出請求創建一個鏡像、并且指定容器內要運行的命令。當 Daemon 接收到到信號后,便會執行以下操作:
1. 創建一個鏡像文件Docker 鏡像相當于一個只讀的模板文件,保存著運行容器所需要的所有的配置、文件;每次啟動,都會以基礎的 Docker 鏡像為模板,按照 Dockerfile 的指令,建立一個新的適用于你自己的 Dokcer 鏡像:實際上是在這個基礎鏡像上建立了一個新的應用層。
自己創建的 Docker 鏡像可以推送到 Docker Index 中心,然后提供給他人使用。Docker Index 提供了公有庫和私有庫兩種形式,私有庫需要付費,大概 $7-$50 不等。和 GitHub 一樣,公有庫對所有人可見,私有庫只對自己可見。docker 命令可以用來搜索 Docker Index 的鏡像。
2. 運行容器容器被運行后,會在原有的鏡像上創建一個可讀寫的層,容器設置完畢網絡之后便可以運行應用了。
以上的描述可能會非常抽象:接下來的教程會使用運行在 Ubuntu 上的 Docker 實例來進行深入了解。
安裝 DockerFlux7 原文采用穩定的 Linux 服務器版本 Ubuntu 12.04 LTS 作為示例環境,安裝 Docker 的方法如下:
檢查 apt 系統的是否有 https 模塊:檢查文件 /usr/lib//apt/methods/https,如果不存在這個文件,就需要安裝 apt-transport-https 軟件包。
將 Docker 倉庫的密鑰加入本地的 keychain,倉庫密鑰:hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
將 Docker 倉庫的軟件源加入本地 apt 的軟件源列表中
安裝 lxc-docker 軟件包
驗證安裝:執行 sudo docker run hello-world,輸出 Hello from Docker. 即為成功安裝 Docker。
以上是原文安裝方法,譯者推薦使用 Ubuntu 14.04 LTS 作為示例,安裝方法如下:
Ubuntu 上的 Docker 分為 Ubuntu 官方維護的版本和 Docker 官方維護的版本:
Ubuntu 版 Docker一條命令安裝 Docker:
sudo apt-get install docker.ioDocker 版 Docker
也是一條命令:
wget -qO- https://get.docker.com/ | sh
Ubuntu 版 Docker 和 Docker 版 Docker 的區別在于,一個收納 Ubuntu 團隊認為穩定的版本,一個收納 Docker 團隊認為穩定的版本。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/7918.html
摘要:本系列教程翻譯自,系列共有九篇,本文譯自第一篇。,一種新的容器化技術,因為輕量級和便攜化而受到廣泛關注。本篇文章是系列教程的第一篇。鏡像只讀的容器模板,簡言之就是系統鏡像文件。首先,向發出請求創建一個鏡像并且指定容器內要運行的命令。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第一篇 Part 1: An Introduction。...
摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇。總結本章知識介紹了最基本的十五個命令,接下來的教程將會陸續介紹如何在中運行一個應用以及其他的命令。接下來會在本系列教程結束后補充幾篇應用的實例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學習...
摘要:本系列教程翻譯自,系列共有九篇,本文譯自第二篇。總結本章知識介紹了最基本的十五個命令,接下來的教程將會陸續介紹如何在中運行一個應用以及其他的命令。接下來會在本系列教程結束后補充幾篇應用的實例。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第二篇 Part 2: The 15 Commands。 該系列所有文章將參考其他學習...
摘要:本系列教程翻譯自,系列共有九篇,本文譯自原教程最后一篇。本文介紹十個專門用于操作鏡像的。用法獲取名叫的鏡像。操作中帶有的情況下,是需要非常小心的。或者不傳入,而是用參數指定一個,這種情況下不要求格式。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自原教程最后一篇 Part 9: 10 Docker Remote API Comm...
摘要:本系列教程翻譯自,系列共有九篇,本文譯自原教程最后一篇。本文介紹十個專門用于操作鏡像的。用法獲取名叫的鏡像。操作中帶有的情況下,是需要非常小心的。或者不傳入,而是用參數指定一個,這種情況下不要求格式。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自原教程最后一篇 Part 9: 10 Docker Remote API Comm...
閱讀 2260·2023-04-25 14:50
閱讀 1232·2021-10-13 09:50
閱讀 1866·2019-08-30 15:56
閱讀 1838·2019-08-29 15:29
閱讀 2886·2019-08-29 15:27
閱讀 3547·2019-08-29 15:14
閱讀 1192·2019-08-29 13:01
閱讀 3299·2019-08-26 14:06