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