国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker實戰指南(一):Docker介紹

SKYZACK / 1152人閱讀

摘要:主機名命名空間,不同的內部可以擁有不同的主機名。此外,也是解決跨平臺部署的利器。也許看完上述介紹大家還是云里霧里,沒關系,既然叫實戰指南,那么必然有實戰部分,我們從最簡單的程序開始。后續我們將介紹,如果利用運行你自己的程序。

原文地址:Docker實戰指南(一):Docker介紹

Introduction

我第一次注意到Docker大概是在2014年的時候,當時對Docker的第一印象就是,哇靠,這不就是LXC + cgroups嗎,新瓶裝舊酒又拿來賣了?這都行?
直到2015年6月,在各大IT巨頭的推動下,Open Container Initiative(OCI)成立,并制定了Open Container的第一版接口的標準規范,Docker正式的成為了Container技術的龍頭。
本系列文章將循序漸進的帶您深入到Docker的方方面面中,讓您體會到Docker相比傳統的LXC技術的優勢所在,以及如何將這些優勢收為己用。

Docker的前世今生

簡單來說,Docker就是一個應用程序,一個后臺守護進程而已。從技術本質上來講,Docker基于Linux Namespace技術,但又不僅僅是Namespace那么簡單,否則的話LXC同樣可以火起來。
Docker提供了很多新工具/概念,如沙箱環境(sandbox environment),命令行工具(command-line tool),鏡像管理(image management)等等。這些額外的工具讓Docker變得易于使用,在眾多Container技術中脫穎而出。
Docker的出現改變了軟件開發和軟件運營的方式,從架構到開發和測試,再到交付以及上線,依靠Docker,這一系列的流程都得到了簡化,大大加快了工程上線的開發速度,降低了企業的成本。
同時,Docker有了自己的生態圈,眾多公司,包括Google, Microsoft, Intel, IBM, VMware這些巨頭,都聚在一起推動Docker發展。Google推出了基于Docker的云服務,Microsoft也推出了基于Windows的Docker支持,AWS也可以托管Docker鏡像。Docker逐漸發展為虛擬化技術(Virtualization)和云計算(Cloud Computing)中的新寵。

Docker vs Virtualization

Docker并不是虛擬化(Virtualization)技術。雖然和虛擬化一樣,提供了隔離(isolation)的能力,但是對比虛擬化技術,docker并沒有使用硬件虛擬化(hardware virtualization)技術,而僅僅是用戶態的一個進程而已。用戶的應用程序作為一個Linux的用戶態進程,運行在Docker的容器(container)中。
而做到這些的便是Docker采用的以下八個技術:

PID namespace:進程的命名空間,不同的container內部的進程擁有獨立的PID。

UTS namespace:主機名命名空間,不同的container內部可以擁有不同的主機名。

MNT namespace:文件系統命名空間,不同的container內部可以擁有不同的文件系統。

IPC namespace:進程間通信命名空間,不同的container內部可以擁有不同的進程間通信空間,如各自獨立的共享內存。

NET namespace:網絡命名空間,不同的container內部可以有不同的網絡連接訪問方式。

USR namespace:用戶命名空間,不同的container內部可以有不同的用戶。

chroot():不同的container可以有不同的root目錄。

cgroups:不同的container可以有各自受保護的資源。

上面的八個技術構成了Docker的運行時(runtime)所需的技術。

為什么使用Docker

簡單來說,可以讓軟件開發流程變得快速簡單,尤其是在環境的配置上面。
相信大家都有這樣的噩夢,每次要開發新軟件或者換環境的時候,需要安裝配置一大堆的依賴。雖然有yum或者apt這類的包管理軟件幫忙,但是如果出現的包沖突,或者找不到包的情況,或者需要源碼編譯卻缺失依賴,這種環境部署簡直就是噩夢。
Docker就是解決上述噩夢的利器。
此外,Docker也是解決跨平臺部署的利器。你可以在你的MacOS, Windows, Linux上安裝Docker,然后下載你所需要的Docker鏡像(image)進行程序開發。當你的程序需要發布的時候,僅僅需要將你的Docker鏡像打包發布,不再需要搭建新環境。

Hello World!

也許看完上述介紹大家還是云里霧里,沒關系,既然叫實戰指南,那么必然有實戰部分,我們從最簡單的Hello World程序開始。
首先下載Docker安裝環境:https://docs.docker.com/engin...。
里面有Linux版的,Windows版的,MacOS版的,Cloud版的,選擇適合你的就好。
當安裝好之后,在命令行中運行:

docker run dockerinaction/hello_world

如果失敗,那么需要使用root權限來操作,Windows的話請采用管理員(administrator)權限。
一切就緒后,你應該可以看到一句:

hello world

至此,第一個Hello World程序成功運行。
中間發生了什么?這個命令完成了下面一系列的操作:

Docker檢查是否有所需的鏡像,如果沒有,那么嘗試去Docker Hub下載所需鏡像。

安裝所需鏡像。

Docker創建一個容器,并加載鏡像,運行鏡像中的Hello World程序。

至于這個程序是什么,答案很簡單:

echo "hello world"
Summary

我們簡單的介紹了Docker的前世今生,采用的技術,以及使用的場景,最后用一個簡單的Hello World程序來進行實戰。
后續我們將介紹,如果利用Docker運行你自己的程序。

(本文出自csprojectedu.com,轉載請注明出處)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26681.html

相關文章

  • Docker實戰指南(二):在Docker中搭建Nginx服務器

    摘要:原文地址實戰指南二在中搭建服務器學習最快的方法就是直接使用,在實戰指南一介紹中,我們已經介紹了如何快速搭建,以及如何在中運行我們的第一個程序。 原文地址:Docker實戰指南(二):在Docker中搭建Nginx服務器 Introduction 學習Docker最快的方法就是直接使用,在Docker實戰指南(一):Docker介紹中,我們已經介紹了如何快速搭建Docker,以及如何在D...

    Jensen 評論0 收藏0
  • Docker實戰指南(三):Docker鏡像

    摘要:原文地址實戰指南三鏡像在實戰指南二在中搭建服務器中,我們已經介紹了如何快速地搭建一個實用的服務器。這次我們將圍繞鏡像,介紹其使用方法。此外,你也可以通過訪問,通過來搜索你需要的鏡像。通過此實戰,你應該對鏡像有了更深入的體會。 原文地址:Docker實戰指南(三):Docker鏡像 Introduction 在Docker實戰指南(二):在Docker中搭建Nginx服務器中,我們已經介...

    Donne 評論0 收藏0
  • PHPer書單

    摘要:想提升自己,還得多看書多看書多看書下面是我收集到的一些程序員應該看得書單及在線教程,自己也沒有全部看完。共勉吧當然,如果你有好的書想分享給大家的或者覺得書單不合理,可以去通過進行提交。講師溫銘,軟件基金會主席,最佳實踐作者。 想提升自己,還得多看書!多看書!多看書!下面是我收集到的一些PHP程序員應該看得書單及在線教程,自己也沒有全部看完。共勉吧!當然,如果你有好的書想分享給大家的或者...

    jimhs 評論0 收藏0
  • 從小白程序員路晉升為大廠高級技術專家我看過哪些書籍?(建議收藏)

    摘要:大家好,我是冰河有句話叫做投資啥都不如投資自己的回報率高。馬上就十一國慶假期了,給小伙伴們分享下,從小白程序員到大廠高級技術專家我看過哪些技術類書籍。 大家好,我是...

    sf_wangchong 評論0 收藏0
  • CI Weekly #3 | 關于微服務、Docker 實踐與 DevOps 指南

    摘要:圍繞軟件工程效率提升進行一系列技術內容分享,包括國內外持續集成持續交付,持續部署自動化測試等實踐教程工具與資源,以及一些工程師文化相關的程序員。劃分了數據庫日志安全監控配置管理云服務等個大類,個工具。 CI Weekly 圍繞『 軟件工程效率提升』 進行一系列技術內容分享,包括國內外持續集成、持續交付,持續部署、自動化測試、 DevOps 等實踐教程、工具與資源,以及一些工程師文化相關...

    monw3c 評論0 收藏0

發表評論

0條評論

SKYZACK

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<