邀請好友學習
每邀請一位你將得 ¥
講師 legendtkl,BAT 技術專家,具有多年的一線互聯網工作經驗。技術視野廣泛,技術棧集中在云原生和分布式系統技術,Hadoop/Spark/Flink/HBase 等分布式計算和存儲系統。Docker、Kubernetes 及其生態系統;在使用 Docker 和 Kubernetes 的過程中積累了大量的第一手經驗。
目前的技術水平已經真正進入到了云計算時代,各大基礎設施紛紛上云。阿里已經在去年雙十一將所有業務都遷移到了云上,而云的基礎設施就是 Docker。作為當下最主流的容器技術。毫無疑問,Docker 容器技術已經成為互聯網從業成員不可或缺的技術。
使用 Docker 技術來開發和交付我們的應用,將極大提升工程效率,簡化縮短整個開發流程。
Docker 技術與傳統應用交付方式的最大區別在于,傳統的方式將應用開發和部署進行割裂,而Docker 技術的創新點在于直接將應用的軟件依賴和環境依賴打包進 Docker 鏡像,部署環節直接簡化成了如何規范化容器的部署管理(這正是社區和 Kubernetes 等管理系統所做的事情),整個鏈路的工程效率提升極大。
并且,由于目前處于云原生的技術趨勢下,大部分的應用最終都將通過容器化的方式來交付。無論是無狀態應用(比如 WebServer),還是分布式有狀態應用(比如 ZooKeeper 等),抑或是當前最火熱的大數據和 AI 技術,也在逐步和云原生技術進行結合。
本課程將帶你全面獲取 Docker 的基礎知識、核心原理以及最佳實踐。在應用容器化的道路上,如果不熟悉 Docker 的最佳實踐,將會走很多彎路。比如將多個程序打包到一個 Docker 容器中就很有可能帶來過多僵尸進程的問題,因此在設計之初,課程就明確了需要重點討論并且要最佳實踐的問題,希望大家少走彎路。
考慮到 Docker 技術絕不是一個孤立的技術棧,Docker 技術棧結合使用最多的就是 Kubernetes 相關技術,因此本課程還會重點介紹 Kubernetes 技術,讓你全面掌握相關技能。
本課程會以一種“學習思路再現”的形式進行講解,從提出問題開始,到嘗試解決問題,最后理解問題背后的原理。這種學習方式能夠幫助我們不僅知其然、而且知其所以然。更重要的是通過這種方式習得的知識要比填鴨式的照本宣科顯得更加牢靠。
專欄分成 5 部分,47 小節,內容循序漸進,其中各個部分的內容組織如下所示:
第一章 Docker 基礎
本部分內容會介紹 Docker 的一些背景和基礎知識,包括Docker容器的發展之路、Docker安裝與運行、Docker技術概覽、Docker鏡像技術,以及動手實踐構建出第一個屬于我們自己的 Docker 應用。
第二章 Docker 核心技術
在這個部分大家將更加深入地理解 Docker 的核心技術。包括 Docker 隔離技術的本質 Namespace深入解析、 Docker資源限制技術的幕后主使 Cgroup 剖析、 Docker 鏡像深入理解、Docker 的本質、Docker 鏡像構建、Docker 網絡相關知識、Docker 數據存儲相關知識等。
第三章 Docker 最佳實踐
前面兩部分介紹完了理論部分,第三章主要介紹 Docker 最佳實踐。包括:
講解Dockerfile 最佳編程實踐、如何構建最小鏡像最佳實踐、其他 Docker 使用中的最佳實踐,解釋容器化時保持 Docker 是單進程模型的原因,介紹容器設計模式、 Docker 監控方案最佳實踐,以及 從 0 到 1 構建一個分布式高可用的 Web 應用。
第四章 云原生容器技術 Kubernetes
前面介紹了 Docker 技術的一些理論知識和最佳實踐,但Docker 技術從來都不是一個孤立的技術。Kubernetes 憑借著 Google 內部早期積累的經驗和優秀的云原生設計理念,已經全面占領了云端統一管理的地位。這一章主要介紹 Kubernetes 相關的技術知識,包括集群資源隔離介紹、配置管理、Kubernetes的典型及控制器模式,最后通過 Kubernetes 來構建容器化應用。
第五章 云原生監控方案
目前 Prometheus 已經成為云原生監控方案的事實標準,最后一章我們將介紹 Prometheus 的一些知識。
下載慕課網APP
更好的體驗,讓閱讀隨處可得
如無法下載使用圖片另存為
下載海報
慕斯1088534
有這幾個常用的一般也夠用了,騰訊云pull Nginx 速度也還不錯!golang和docker就是倚天劍和屠龍刀,哈哈。。。
講師回答 / legendtkl
嗯,相當來說國內可以使用阿里云或者騰訊云的鏡像中心,但是上面的鏡像種類相比 DockerHub 還要缺少一點。
慕斯1088534
容器是個單進程模型,這篇文章講的太好了,知道不少來龍去脈!贊!
講師回答 / legendtkl
謝謝。感興趣歡迎分享哦
慕斯1088534
終于成功了! curl "localhost:5000/set?key=test&value=test.com" OK. We have set test to be test.com[root@VM-0-13-centos web]# [root@VM-0-13-centos web]# curl "localhost:5000/get?key=test" test.com[root@VM-0-13-centos web]# 部署redis容器時候發現一個問題: docker 如果出現此錯誤: Error response from daemon: Conflict. The container name "/redis-test" is already in use by container a666 e30ccb0dda354f116fe320855070b75e2942eff4502bc88289fbd27afc7c. You have to remove (or rename) that container to be able to reuse that name.. 那么可以通過 docker ps -a | grep redis 把已經存在的容器id找出來,然后 docker rm 容器ID 這樣就可以部署redis容器: docker run --name redis-test -p 6379:6379 -d redis:latest