![]() ![]() |
Docker即學(xué)即用 ![]() 本書(shū)的主要內(nèi)容有:了解Docker和Linux容器如何與云服務(wù)和Kubernetes集成。構(gòu)建Open Container Initiative(OCI)映像,使用強(qiáng)大的命令行工具部署和管理Linux容器。了解OCI映像如何簡(jiǎn)化應(yīng)用的依賴(lài)管理和部署流程。學(xué)習(xí)在生產(chǎn)中部署和測(cè)試Linux容器的實(shí)用技術(shù)。在任何需要的地方大規(guī)模部署生產(chǎn)容器。探討一些Docker高級(jí)話(huà)題,包括部署工具、網(wǎng)絡(luò)、編排、安全和配置。 編輯推薦 前言本書(shū)針對(duì)想切實(shí)理解Linux 容器、了解如何使用容器改進(jìn)開(kāi)發(fā)和生產(chǎn)實(shí)踐的人。大多數(shù)現(xiàn)代集成工作流程和生產(chǎn)系統(tǒng)要求開(kāi)發(fā)人員和運(yùn)維工程師對(duì)Linux 容器以及如何利用容器顯著提高整個(gè)系統(tǒng)的可重復(fù)性和可預(yù)測(cè)性有深入的了解。在學(xué)習(xí)過(guò)程中,我們將探討在Docker 生態(tài)系統(tǒng)中如何構(gòu)建、測(cè)試、部署和調(diào)試Linux 容器,還將涵蓋利用Linux 容器的重要編排工具。最后,結(jié)合以上內(nèi)容,給出一些有關(guān)容器環(huán)境安全性和最佳實(shí)踐方面的指導(dǎo)。目標(biāo)讀者本書(shū)的目標(biāo)讀者是那些在開(kāi)發(fā)和大規(guī)模部署軟件的過(guò)程中遇到復(fù)雜工作流程而在尋找解決方案的人。如果你對(duì)Linux 容器、Docker、DevOps 和可彈性伸縮的大規(guī)模軟件基礎(chǔ)設(shè)施感興趣,絕不能錯(cuò)過(guò)這本書(shū)!為什么讀這本書(shū)如今,網(wǎng)上到處都在討論Docker,有許多使用Docker 的項(xiàng)目,還有很多關(guān)于Docker 的文章。甚至,有人已經(jīng)開(kāi)始預(yù)言Docker 的衰敗。既然如此,為什么還要花費(fèi)寶貴的時(shí)間閱讀這本書(shū)呢?盡管現(xiàn)在出現(xiàn)了其他替代方案,但Docker 憑一己之力把Linux 容器推到了所有工程師面前。在Docker 創(chuàng)建容器映像格式、構(gòu)建現(xiàn)今容器化系統(tǒng)用到的許多核心庫(kù)之前,Linux 容器非常難用,而且使用群體主要是大型云托管公司,因?yàn)樗麄冃枰峁┛蓴U(kuò)展性,同時(shí)還想保護(hù)系統(tǒng)免受不良用戶(hù)代碼的危害。Docker 改變了這一切。盡管有關(guān)Docker 和Linux 容器的信息很多,但是環(huán)境在發(fā)展,最佳實(shí)踐也在變化。假設(shè)你在閱讀一篇四年前發(fā)表的關(guān)于Docker 的博客文章。文章的內(nèi)容或許仍然奏效,但可能不再是最好的方法。在我們撰寫(xiě)本書(shū)第一版期間,Docker公司發(fā)布了四個(gè)Docker 版本和一些重要工具。本書(shū)第一版和第三版相隔七年,Docker 世界發(fā)生了天翻地覆的變化。Docker 已經(jīng)穩(wěn)定下來(lái),現(xiàn)在有許多其他工具可以扮演類(lèi)似的角色。如今,DevOps 工作流程的幾乎每個(gè)方面都有許多強(qiáng)大的選擇,早就過(guò)了工具匱乏的時(shí)期。了解Linux 容器和Docker 提供的功能、了解如何把它們?nèi)谌胱约旱墓ぷ髁鞒,以及正確集成一切,都不是簡(jiǎn)單的事。過(guò)去九年,我們與多家公司合作,為他們構(gòu)建和運(yùn)營(yíng)各種Linux 容器平臺(tái),涵蓋Docker、Mesos 和Kubernetes。Docker 發(fā)布幾個(gè)月之后我們就開(kāi)始在生產(chǎn)環(huán)境使用Docker,積累了很多經(jīng)驗(yàn),在本書(shū)中將與你一一分享。我們的目的是給你提供前車(chē)之鑒,避免重蹈覆轍。Docker 項(xiàng)目的在線(xiàn)文檔(https://docs.docker.com)確實(shí)有用,不過(guò)我們寫(xiě)這本書(shū)是想讓你對(duì)Docker 有更全面的認(rèn)識(shí),告訴你我們?cè)谑褂肈ocker 的過(guò)程中總結(jié)出的最佳實(shí)踐。讀完本書(shū)之后,你將掌握足夠的知識(shí),知道Linux 容器是什么、Docker 提供了哪些功能,為什么二者如此重要,以及如何在本地開(kāi)發(fā)和線(xiàn)上環(huán)境中利用它們提升效率。我們希望通過(guò)一些非常真實(shí)的運(yùn)用讓你快速掌握引起你興趣的技術(shù)。內(nèi)容結(jié)構(gòu)本書(shū)的結(jié)構(gòu)如下。? 第1 章和第2 章簡(jiǎn)要介紹Docker,說(shuō)明Docker 是什么、能用來(lái)做什么。? 第3 章說(shuō)明Docker 的安裝步驟。? 第4 章到第6 章探討Docker 客戶(hù)端、映像和容器,說(shuō)明這三者是什么以及如何使用。? 第7 章討論如何調(diào)試映像和容器。? 第8 章介紹Docker Compose,說(shuō)明它在開(kāi)發(fā)復(fù)雜的容器化服務(wù)的過(guò)程中起到的簡(jiǎn)化作用。? 第9 章探討轉(zhuǎn)移到生產(chǎn)環(huán)境的過(guò)程中需要注意的事項(xiàng)。? 第10 章探討如何在公共云和私有云中大規(guī)模部署容器。? 第11 章探討一些高級(jí)話(huà)題,若想理解這些話(huà)題,需要對(duì)Docker 有一定的了解。開(kāi)始在生產(chǎn)環(huán)境中使用Docker 后,這些話(huà)題將變得很重要。? 第12 章介紹一些可在容器化Linux 環(huán)境中使用的替代工具。? 第13 章探討一些關(guān)于如何設(shè)計(jì)適合互聯(lián)網(wǎng)量級(jí)的下一代軟件的核心概念,這些概念已經(jīng)開(kāi)始得到業(yè)界的一致認(rèn)同。? 第14 章總結(jié)本書(shū)內(nèi)容,概述如何使用現(xiàn)有的技術(shù)改進(jìn)交付和彈性伸縮軟件服務(wù)的方式。我們發(fā)現(xiàn),很多讀者不會(huì)逐頁(yè)閱讀技術(shù)書(shū)籍,而且有些讀者特別喜歡跳過(guò)前言。如果你還在閱讀前言,下面簡(jiǎn)單說(shuō)明閱讀本書(shū)的幾種方式。? 如果你剛接觸Linux 容器,請(qǐng)從頭開(kāi)始閱讀。前兩章的目的是讓你了解Docker 和Linux 容器的基本知識(shí),介紹Docker 和Linux 容器是什么、二者的工作方式,以及為什么要使用它們。? 如果你想直接學(xué)習(xí)如何在工作站中安裝并運(yùn)行Docker,請(qǐng)?zhí)降? 章和第4 章。這兩章說(shuō)明如何安裝Docker、如何創(chuàng)建和下載映像、如何運(yùn)行容器等。? 如果你已經(jīng)熟悉Docker 基本知識(shí),想學(xué)習(xí)如何利用Docker 做開(kāi)發(fā),請(qǐng)閱讀第5 章到第8 章。這幾章說(shuō)明日常使用Docker 相關(guān)的技能,并對(duì)Docker Compose 做了詳盡介紹。? 如果你已經(jīng)在開(kāi)發(fā)過(guò)程中使用Docker,想知道如何在生產(chǎn)環(huán)境中使用,請(qǐng)閱讀第9 章和第12 章。這一部分涉及容器部署、容器平臺(tái)設(shè)置等高級(jí)話(huà)題。? 如果你是軟件或平臺(tái)架構(gòu)師,可能會(huì)對(duì)第13 章感興趣。這一章探討當(dāng)前對(duì)容器化應(yīng)用和橫向擴(kuò)展服務(wù)的思考。排版約定本書(shū)使用以下排版約定。斜體(Italic)表示新術(shù)語(yǔ)、URL、電子郵件地址、文件名和文件擴(kuò)展名。等寬字體(Constant width)表示程序代碼清單,也表示正文中出現(xiàn)的變量、函數(shù)名、數(shù)據(jù)庫(kù)、數(shù)據(jù)類(lèi)型、環(huán)境變量、語(yǔ)句和關(guān)鍵字等程序元素。加粗等寬字體(Constant width bold)表示命令或者其他應(yīng)該由用戶(hù)原樣輸入的內(nèi)容。尖括號(hào)中的等寬字體()表示需要使用用戶(hù)的輸入值代替的文本,或者由上下文決定的值。使用代碼示例本書(shū)附帶資源( 代碼示例、練習(xí)等) 的下載地址:https://github.com/bluewhalebook/docker-up-and-running-3rd-edition。本書(shū)是要幫你完成工作的。一般來(lái)說(shuō),你可以在自己的程序或文檔中使用書(shū)中的代碼。除非你使用了很大一部分代碼,否則無(wú)須聯(lián)系我們獲得許可。例如,用書(shū)中的幾個(gè)代碼片段寫(xiě)一個(gè)程序就無(wú)需獲得許可,銷(xiāo)售或分發(fā)OReilly 圖書(shū)的示例合集需要獲得許可;引用書(shū)中的示例代碼回答問(wèn)題無(wú)須獲得許可,把書(shū)中的大量代碼放到你的產(chǎn)品文檔中需要獲得許可。我們很希望但并不強(qiáng)制要求你在引用本書(shū)內(nèi)容時(shí)加上引用說(shuō)明。引用說(shuō)明一般包括書(shū)名、作者、出版社和 ISBN。例如:Docker: Up & Running, 3e, by Sean P. Kane with Karl Matthias (OReilly). Copyright 2023 Sean P. Kane and Karl Matthias, 978-1-098-13182-1。如果你覺(jué)得自己對(duì)示例代碼的使用超出了上述許可范圍,請(qǐng)通過(guò)permissions@oreilly.com 聯(lián)系我們。OReilly 在線(xiàn)學(xué)習(xí)平臺(tái)(OReilly Online Learning)近40 年來(lái),OReilly Media 致力于提供技術(shù)和商業(yè)培訓(xùn)、知識(shí)和卓越見(jiàn)解,來(lái)幫助眾多公司取得成功。公司獨(dú)有的專(zhuān)家和改革創(chuàng)新者網(wǎng)絡(luò)通過(guò)OReilly 書(shū)籍、文章以及在線(xiàn)學(xué)習(xí)平臺(tái),分享他們的專(zhuān)業(yè)知識(shí)和實(shí)踐經(jīng)驗(yàn)。OReilly 在線(xiàn)學(xué)習(xí)平臺(tái)按照您的需要提供實(shí)時(shí)培訓(xùn)課程、深入學(xué)習(xí)渠道、交互式編程環(huán)境以及來(lái)自O(shè)Reilly 和其他200 多家出版商的大量書(shū)籍與視頻資料。更多信息,請(qǐng)?jiān)L問(wèn)網(wǎng)站:https://www.oreilly.com/。聯(lián)系我們?nèi)魏斡嘘P(guān)本書(shū)的意見(jiàn)或疑問(wèn),請(qǐng)按照以下地址聯(lián)系出版社。美國(guó):OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國(guó):北京市西城區(qū)西直門(mén)南大街2 號(hào)成銘大廈C 座807 室(100035)奧萊利技術(shù)咨詢(xún)(北京)有限公司勘誤、示例和其他信息可訪(fǎng)問(wèn)https://oreil.ly/docker-up-and-running-3e 獲取。對(duì)本書(shū)的評(píng)論或技術(shù)疑問(wèn),可以發(fā)電子郵件到errata@oreilly.com.cn。欲了解本社圖書(shū)和課程的新聞和信息,請(qǐng)?jiān)L問(wèn)https://oreilly.com。我們的LinkedIn:https://linkedin.com/company/oreilly-media。我們的Twitter:https://twitter.com/oreillymedia。我們的YouTube:https://youtube.com/oreillymedia。致謝衷心感謝讓本書(shū)每一版得以出版的諸位。? 感謝New Relic 公司的Nic Benders、Bjorn Freeman-Benson 和Dana Lawson,他們對(duì)第一版給予的幫助超乎想象,給我們留出了充足的時(shí)間寫(xiě)作。? 感謝Roland Tritsch 和Nitro Software 公司支持Karl 修訂第二版。? 感謝OReilly 出版社的Laurel Ruma,她最先聯(lián)系我們,讓我們寫(xiě)一本關(guān)于Docker 的書(shū);感謝Mike Loukides,他幫助我們按部就班地寫(xiě)作本書(shū)。? 特別感謝第一版的編輯Brian Anderson,他告訴我們?cè)撟鍪裁矗趯?xiě)作過(guò)程中一直給予我們指導(dǎo)。? 感謝Nikki McDonald 和Virginia Wilson 在修訂本書(shū)第二版的過(guò)程中給予的幫助。? 感謝John Devins、Michele Cronin 和Elizabeth Faerm,他們付出了極大的努力,確保第三版得以付梓。? 感謝Terraform: Up & RunningYevgeniy 一書(shū)的作者Yevgeniy (Jim) Brikman,他非?犊试S我們參照他之前的工作成果設(shè)計(jì)https://dockerupandrunning.com 網(wǎng)站。? 傳播新技術(shù)需要特殊人才的支持。非常感謝Lars Herrmann、Laura Frank Tacho 和Raju Gandhi 分別為本書(shū)的三個(gè)版本作序。? 感謝本書(shū)草稿的審稿人,他們?cè)诒緯?shū)寫(xiě)作過(guò)程中幫助我們不偏離軌道。他們是:第一個(gè)審閱本書(shū)并寫(xiě)了完整技術(shù)審校報(bào)告的Ksenia Burlachenko,以及Andrew T. Baker、Sébastien Goasguen、Henri Gomez、Chelsey Frank、Rachid Zarouali、Werner Dijkerman、Predrag Kne?evi? 和Vishwesh Ravi Shrimali。? 特別感謝Alice Goldfuss 和Tom Offermann,他們?cè)趯?xiě)作第一版的過(guò)程中一直給我們細(xì)致的反饋。感謝Mihai Todor 在第二版的修訂過(guò)程中鼓勵(lì)我們,審校書(shū)稿、反饋問(wèn)題。? 感謝Gillian McGarvey、Melanie Yarbrough、Justin Billing、Rachel Monaghan 和Sonia Saruba 編輯書(shū)稿,她們編輯后的書(shū)稿太好了,好像我們?cè)诟咧械挠⒄Z(yǔ)課上真的認(rèn)真聽(tīng)講了一樣。她們添加了517 個(gè)逗號(hào),或許還不止。? 感謝Sue Klefstad 為第三版建立索引,確保索引對(duì)所有讀者都有用。感謝Wendy Catalano 和Ellen Troutman 為前兩版建立索引。? 特別感謝Nick Adams 和OReilly Media 的幕后工作人員,他們確保了一切內(nèi)容在所有發(fā)行格式中都顯示得恰到好處。? 感謝New Relic 和Nitro 公司的所有同事,在使用Docker 的過(guò)程中他們一直陪伴左右,為我們提供了本書(shū)講到的很多經(jīng)驗(yàn)。? 感謝Grains of Wrath Brewery、World Cup Coffee、McMenamins Ringlers Pub、Old Town Pizza、A Beer at a Time!、Taylors Three Rock 等店,他們?nèi)撕芎,吃完飯很久之后依然讓我們占用飯桌,用他們的電? 感謝我們的家人,他們給予我們支持,在需要時(shí)為我們提供安靜的環(huán)境。? 最后,感謝在本書(shū)出版過(guò)程中鼓勵(lì)我們,給我們提供建議和支持的其他所有人。 Sean Kane是techlabs.sh的創(chuàng)始人和SuperOrbital的首席生產(chǎn)運(yùn)維工程師。Karl Matthias是Community.com的架構(gòu)副總裁。 目錄
你還可能感興趣
我要評(píng)論
|